1313 * This class is part of Ubiquity
1414 *
1515 * @author jcheron <myaddressmail@gmail.com>
16- * @version 1.0.1
16+ * @version 1.0.2
1717 *
1818 */
1919class ReactServer {
@@ -30,8 +30,8 @@ class ReactServer {
3030
3131 public function init ($ config , $ basedir ) {
3232 // To remove: side effects
33- ini_set ('memory_limit ' , '1G ' );
34- set_time_limit (0 );
33+ \ ini_set ('memory_limit ' , '1G ' );
34+ \ set_time_limit (0 );
3535 // end To remove
3636 $ httpInstance = new ReactHttp ();
3737 $ sessionInstance = new ReactPhpSession ();
@@ -40,13 +40,17 @@ public function init($config, $basedir) {
4040 function (\Psr \Http \Message \ServerRequestInterface $ request ) use ($ config , $ httpInstance , $ sessionInstance , $ basedir ) {
4141 $ _GET ['c ' ] = '' ;
4242 $ httpInstance ->setResponseCode (200 );
43- $ uri = ltrim (urldecode (parse_url ($ request ->getUri ()->getPath (), PHP_URL_PATH )), '/ ' );
44- if ($ uri == null || ! file_exists ($ basedir . '/../ ' . $ uri )) {
43+ $ uri = \ ltrim (\ urldecode (\ parse_url ($ request ->getUri ()->getPath (), \ PHP_URL_PATH )), '/ ' );
44+ if ($ uri == null || ! ( $ fe = \ file_exists ($ basedir . '/../ ' . $ uri) )) {
4545 $ _GET ['c ' ] = $ uri ;
4646 } else {
4747 $ headers = $ request ->getHeaders ();
48- $ headers ['Content-Type ' ] = current ($ headers ['Accept ' ]);
49- return new \React \Http \Response ($ httpInstance ->getResponseCode (), $ headers , file_get_contents ($ basedir . '/../ ' . $ uri ));
48+ $ headers ['Content-Type ' ] = \current ($ headers ['Accept ' ]);
49+ if ($ fe ){
50+ return new \React \Http \Response ($ httpInstance ->getResponseCode (), $ headers , file_get_contents ($ basedir . '/../ ' . $ uri ));
51+ }else {
52+ return new \React \Http \Response (404 , $ headers , 'File not found ' . $ uri );
53+ }
5054 }
5155
5256 $ httpInstance ->setRequest ($ request );
@@ -55,7 +59,7 @@ function (\Psr\Http\Message\ServerRequestInterface $request) use ($config, $http
5559 \ob_start ();
5660 \Ubiquity \controllers \Startup::setHttpInstance ($ httpInstance );
5761 \Ubiquity \controllers \Startup::setSessionInstance ($ sessionInstance );
58- \Ubiquity \controllers \Startup::run ( $ config );
62+ \Ubiquity \controllers \Startup::forward ( $ _GET [ ' c ' ] );
5963 $ content = ob_get_clean ();
6064 return new \React \Http \Response ($ httpInstance ->getResponseCode (), $ httpInstance ->getAllHeaders (), $ content );
6165 }
0 commit comments