dreamfactorysoftware / dreamfactory

DreamFactory API Management Platform
https://www.dreamfactory.com
Apache License 2.0
1.53k stars 311 forks source link

GitLab service not reading file contents under private projects, after update to version 4 #195

Open GStetco opened 6 years ago

GStetco commented 6 years ago

Hello,

I'm using GitLab to store the code of the custom services. The GitLab project is private. After the last upgrade of GitLab to v4 the functionality "Link to a service" -> "View Latest" has ceased to work.

I can still see the content of the repository, but if fails when it has to extract the content of the script.

image

From what I've learned so far, it seems that the The reason for this is the library m4tthumphrey included in this DF version is not fully compatible with V4. There is a new version released for this (https://github.com/m4tthumphrey/php-gitlab-api)

DF version is: 2.12.0
Operating System: linux
Release: 4.4.0-1062-aws
Version: #71-Ubuntu SMP Fri Jun 15 10:07:39 UTC 2018
Machine: x86_64
PHP Version: 7.1.18-1+ubuntu16.04.1+deb.sury.org+1
PHP Server API: FPM/FastCGI

This is the stack trace:

{ "error": { "code": 404, "context": null, "message": "404 Not Found", "trace": [ "0 [internal function]: DreamFactory\\Core\\Git\\Resources\\BaseResource->handleGET()", "1 /data/rest/vendor/dreamfactory/df-core/src/Components/RestHandler.php(335): call_user_func(Array)", "2 /data/rest/vendor/dreamfactory/df-core/src/Components/RestHandler.php(197): DreamFactory\\Core\\Components\\RestHandler->processRequest()", "3 /data/rest/vendor/dreamfactory/df-core/src/Components/RestHandler.php(254): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'rest_scripts')", "4 /data/rest/vendor/dreamfactory/df-core/src/Components/RestHandler.php(172): DreamFactory\\Core\\Components\\RestHandler->handleResource(Array)", "5 /data/rest/vendor/dreamfactory/df-core/src/Services/BaseRestService.php(146): DreamFactory\\Core\\Components\\RestHandler->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), '_repo/rest_scri...')", "6 /data/rest/vendor/dreamfactory/df-core/src/Services/ServiceManager.php(496): DreamFactory\\Core\\Services\\BaseRestService->handleRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), '_repo/rest_scri...')", "7 /data/rest/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(221): DreamFactory\\Core\\Services\\ServiceManager->handleServiceRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'rest_scripts', '_repo/rest_scri...', false)", "8 /data/rest/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(159): Illuminate\\Support\\Facades\\Facade::__callStatic('handleServiceRe...', Array)", "9 /data/rest/vendor/dreamfactory/df-core/src/Http/Controllers/RestController.php(118): DreamFactory\\Core\\Http\\Controllers\\RestController->handleServiceRequest(Object(DreamFactory\\Core\\Utility\\ServiceRequest), 'rest_scripts', '_repo/rest_scri...')", "10 [internal function]: DreamFactory\\Core\\Http\\Controllers\\RestController->handleVersionedService('v2', 'rest_scripts', '_repo/rest_scri...')", "11 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)", "12 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('handleVersioned...', Array)", "13 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(212): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(DreamFactory\\Core\\Http\\Controllers\\RestController), 'handleVersioned...')", "14 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Route.php(169): Illuminate\\Routing\\Route->runController()", "15 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Route->run()", "16 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "17 /data/rest/vendor/dreamfactory/df-core/src/Http/Middleware/AccessCheck.php(62): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "18 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\Core\\Http\\Middleware\\AccessCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "19 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "20 /data/rest/vendor/dreamfactory/df-core/src/Http/Middleware/AuthCheck.php(232): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "21 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\Core\\Http\\Middleware\\AuthCheck->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "22 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "23 /data/rest/vendor/dreamfactory/df-core/src/Http/Middleware/VerbOverrides.php(42): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "24 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): DreamFactory\\Core\\Http\\Middleware\\VerbOverrides->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "25 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "26 /data/rest/vendor/barryvdh/laravel-cors/src/HandleCors.php(37): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "27 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "28 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "29 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "30 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(660): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "31 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(635): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))", "32 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(601): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))", "33 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Router.php(590): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))", "34 /data/rest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))", "35 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))", "36 /data/rest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "37 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "38 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "39 /data/rest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "40 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "41 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "42 /data/rest/vendor/barryvdh/laravel-cors/src/HandlePreflight.php(34): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "43 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(149): Barryvdh\\Cors\\HandlePreflight->handle(Object(Illuminate\\Http\\Request), Object(Closure))", "44 /data/rest/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))", "45 /data/rest/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\\Routing\\Pipeline->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))", "46 /data/rest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))", "47 /data/rest/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))", "48 /data/rest/public/index.php(55): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))", "49 {main}" ], "status_code": 404 } }

jacotri77 commented 6 years ago

Thanks for submitting this! We will certainly look at updating this to get current ASAP.