http-foundation | Defines an object-oriented layer for the HTTP specification | Web Framework library

 by   symfony PHP Version: v6.3.0 License: MIT

kandi X-RAY | http-foundation Summary

kandi X-RAY | http-foundation Summary

http-foundation is a PHP library typically used in Server, Web Framework, Symfony applications. http-foundation has no bugs, it has no vulnerabilities, it has a Permissive License and it has medium support. You can download it from GitHub.

The HttpFoundation component defines an object-oriented layer for the HTTP specification.

            kandi-support Support

              http-foundation has a medium active ecosystem.
              It has 8460 star(s) with 291 fork(s). There are 36 watchers for this library.
              There were 10 major release(s) in the last 12 months.
              http-foundation has no issues reported. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of http-foundation is v6.3.0

            kandi-Quality Quality

              http-foundation has 0 bugs and 0 code smells.

            kandi-Security Security

              http-foundation has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              http-foundation code analysis shows 0 unresolved vulnerabilities.
              There are 0 security hotspots that need review.

            kandi-License License

              http-foundation is licensed under the MIT License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              http-foundation releases are available to install and integrate.
              It has 6477 lines of code, 717 functions and 91 files.
              It has high code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed http-foundation and discovered the below as its top functions. This is intended to give you an instant insight into http-foundation implemented functionality, and help decide if they suit your requirements.
            • Build a DSN from a URL .
            • Get HTTP headers .
            • Creates a session handler .
            • Prepare the response
            • Prepares the base URL
            • Parse query .
            • Checks if an IP address is valid .
            • Moves the uploaded file to a new location .
            • Checks if this route matches the request .
            • Set options .
            Get all kandi verified functions for this library.

            http-foundation Key Features

            No Key Features are available at this moment for http-foundation.

            http-foundation Examples and Code Snippets

            No Code Snippets are available at this moment for http-foundation.

            Community Discussions


            Laravel 9 custom FormRequest throws "Object of type Illuminate\Session\Store is not callable"
            Asked 2022-Feb-16 at 15:23

            Im testing out the new laravel 9 and I sadly come across this surprise.

            After using PHP artisan make:request UpdateUserRequest and setting this as my request class on the incoming update function, this error happens:

            [2022-02-09 12:42:08] local.ERROR: Object of type Illuminate\Session\Store is not callable {"userId":2,"exception":"[object] (Error(code: 0): Object of type Illuminate\\Session\\Store is not callable at /app/vendor/symfony/http-foundation/Request.php:698)

            My code


            public function update(UpdateUserRequest $request){}




            Answered 2022-Feb-16 at 15:23

            This was indeed no laravel 9 issue. This issue was from upgrading laravel-dev to official release.

            Since there was not that much code made, I decided to clone the new laravel 9 repo, and push my changes manually to this new repo. Then all worked fine.



            Malformed MIME header error in Symfony 5.3
            Asked 2022-Feb-01 at 11:39

            I'm working on a project with Symfony 5.3 with PHP 8.0.12. I've been developing it on my own computer, it's working well. I now want to deploy it on a remote container.

            However when I start the Symfony built in Webserver I'm getting the following error when accessing any of the defined routes:



            Answered 2022-Feb-01 at 11:39

            I have had this error when using symfony server:start with docker inside a php-alpine container. Each time i run migrations or doctrine:schema:update in a fresh installed instance, my symfony local web-server would throw error: issue with server callback error="unable to fetch the response from the backend: malformed MIME header: missing colon: "FROM information_schema.schemata I solved it by dropping the alpine container and building everything from the FROM ubuntu:20.04 image: i had to install php, drivers and all dependencies too. This did not go well with my production env because the image was above 1GB, meaning it had binaries i did not need in production. From experience the symfony local web-server needs a python environment but am not sure on that.

            After some days, i stumbled on this git repository: which is recommended from Symfony docs here: Using Docker with Symfony. It uses caddy as the web-server. I learnt from it, tweaked to suit my needs and from then never used symfony local web-server. Its a good project, kudos to Kévin Dunglas and maintainers. The php image is about 200MB. Caddy too is about 40MB. Great for both prod and dev environments.

            Please peruse the repo and adopt what you can or everything.

            Disclaimer: This is not an answer to your problem/error, but an easy alternative.



            Composer post-install scripts not executed
            Asked 2022-Jan-21 at 09:47

            I am trying to build a docker image with a PHP application in it.

            This application installs some dependencies via composer.json and, after composer install, needs some customizations done (eg some files must be copied from vendor folder into other locations and so on).

            So I have written these steps as bash commands and putted in the composer.json post-install-cmd section.

            This is my composer.json (I've omitted details, but the structure is the same):



            Answered 2022-Jan-21 at 09:22

            Please have a look at the documentation of Composer scripts. It explains pretty obvious:

            post-install-cmd: occurs after the install command has been executed with a lock file present.

            If you are using composer install with a lock file not present (as indicated from the console output), this event is not fired.



            Avoiding .git folder in composer's vendor when installing from a custom Gitlab domain
            Asked 2022-Jan-20 at 15:53

            I have a Symfony bundle on a git repository managed by GitLab. The bundle is added to Symfony using composer and pointing to the gitlab as an additionnal repository.

            Everything works fine, the dependency is tracked perfectly and the bundle does work as expected however, in order to optimize my project sources I would like to avoid including the .git folder in the vendor/my-org/my-bundle directory.

            Here is a sample of the composer.json of the Symfony project:



            Answered 2022-Jan-20 at 15:53

            Your domain is not being recognized as a GitLab domain, and then the package is simply cloned out of the Git repository.

            You should configure your domain as being a GitLab domain so Composer knows to use the Gtlab API.

            Unless you configure other domains, only is considered a GitLab domain.


            The configuration should go within config.gitlab-domains, as far as I can see. Something like



            Laravel application hang on Google Cloud Run but runs fine on home setup
            Asked 2021-Nov-24 at 13:59

            I am testing out Google Cloud Run as a platform to run a new project. Project is developed using NodeJS and Laravel. Created a docker images based on php-fpm. This image runs fine on my dev environment running Ubuntu 21.04 and Docker 20.10.8. When running the same image deployed on Google Cloud Run the application hangs randomly. I have narrowed it down to a specific line in imported symfony http send function, class called from laravel index.php. Application will hang a function call to fast_cgi_finish_request(). It will hang on that line 70% of cases and call to timeout after 300 seconds when nginx times out.

            Hanging line in ./vendor/symfony/http-foundation/Response.php:



            Answered 2021-Sep-14 at 12:56

            I encountered the same problem recently (specifically, using Laravel Passport).

            We were also making use of mounted secrets, and noticed that every 10-30 minutes our application would hang and time out after 60s (our configured timeout in Cloud Run). One of my colleagues noticed that every time our application started hanging, one of the first things to start failing was the reading of the mounted secret.

            I asked about this behaviour in the Google Cloud Community Slack workspace, and one of the Cloud Run PM's replied indicating that they were rolling back a recent implementation change.

            I suspect that you encountered the same issue that we did (running our application in GKE also worked fine).

            If it's at all possible, switch to mounting your secrets into your environment. This should resolve the issues of your application hanging.



            Laravel (6.0) Route not found error - but route exists in route:list
            Asked 2021-Nov-19 at 11:39

            I am trying to access a route from a package but I get route not found - even though the route shows when I am using the command php artisan route:list. I have tried clearing all cache but still no success? Everything works fine in my local environment so I am leaning towards a cache issue.

            Error message is below:

            [previous exception] [object] (Symfony\Component\Routing\Exception\RouteNotFoundException(code: 0): Route [admin.affiliate_urls.index] not defined. at /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php:437) [stacktrace] #0 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(777): Illuminate\Routing\UrlGenerator->route() #1 /home/forge/site/storage/framework/views/aed68191b7fd34274389d9db4a4a419e12790000.php(145): route() #2 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): include('/home/forge/www...') #3 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath() #4 /home/forge/site/vendor/facade/ignition/src/Views/Engines/CompilerEngine.php(36): Illuminate\View\Engines\CompilerEngine->get() #5 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(143): Facade\Ignition\Views\Engines\CompilerEngine->get() #6 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(126): Illuminate\View\View->getContents() #7 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\View\View->renderContents() #8 /home/forge/site/storage/framework/views/a6b35713f60cfc6d83afb428a6584b18d94c1e22.php(10): Illuminate\View\View->render() #9 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): include('/home/forge/www...') #10 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\View\Engines\PhpEngine->evaluatePath() #11 /home/forge/site/vendor/facade/ignition/src/Views/Engines/CompilerEngine.php(36): Illuminate\View\Engines\CompilerEngine->get() #12 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(143): Facade\Ignition\Views\Engines\CompilerEngine->get() #13 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(126): Illuminate\View\View->getContents() #14 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\View\View->renderContents() #15 /home/forge/site/vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\View\View->render() #16 /home/forge/site/vendor/symfony/http-foundation/Response.php(205): Illuminate\Http\Response->setContent() #17 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(749): Symfony\Component\HttpFoundation\Response->__construct() #18 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\Routing\Router::toResponse() #19 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\Routing\Router->prepareResponse() #20 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Routing\Router->Illuminate\Routing\{closure}() #21 /home/forge/site/vendor/Company/admingui/src/Middleware/AuthAdminUser.php(39): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #22 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Company\Admingui\Middleware\AuthAdminUser->handle() #23 /home/forge/site/vendor/Company/core/src/Middleware/CampaignSession.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #24 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Company\Core\Middleware\CampaignSession->handle() #25 /home/forge/site/vendor/Company/core/src/Middleware/UriRedirect.php(29): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #26 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Company\Core\Middleware\UriRedirect->handle() #27 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #28 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Routing\Middleware\SubstituteBindings->handle() #29 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #30 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle() #31 /home/forge/site/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #32 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\View\Middleware\ShareErrorsFromSession->handle() #33 /home/forge/site/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #34 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Session\Middleware\StartSession->handle() #35 /home/forge/site/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #36 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle() #37 /home/forge/site/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #38 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Cookie\Middleware\EncryptCookies->handle() #39 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #40 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\Pipeline\Pipeline->then() #41 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\Routing\Router->runRouteWithinStack() #42 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\Routing\Router->runRoute() #43 /home/forge/site/vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\Routing\Router->dispatchToRoute() #44 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\Routing\Router->dispatch() #45 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}() #46 /home/forge/site/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(60): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #47 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Barryvdh\Debugbar\Middleware\InjectDebugbar->handle() #48 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #49 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() #50 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #51 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle() #52 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #53 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle() #54 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #55 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle() #56 /home/forge/site/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #57 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\Proxy\TrustProxies->handle() #58 /home/forge/site/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}() #59 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\Pipeline\Pipeline->then() #60 /home/forge/site/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter() #61 /home/forge/site/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle() #62 {main} "}

            Output of php artisan route:list

            [...] | | GET|HEAD | admin/affiliate-urls | admin.affiliate_urls.index | Company\Admingui\Controllers\AdminAffiliateUrlController@index | web,admin | [...]

            Content of web.php (routes in package)

            [...] Route::get('/admin/affiliate-urls','Company\Admingui\Controllers\AdminAffiliateUrlController@index')->name("admin.affiliate_urls.index"); [...]



            Answered 2021-Nov-19 at 10:08

            Given all the other routes work, and the route got added later, it is a cache issue. You could try php artisan route:clear OR php artisan optimize:clear (I prefer the latter since it clears all cache, and not just route). It should start working then.


            1. *:clear commands do NOT build the cache again.
            2. The optimize command doesn't work with Route closures, so if you have that, you'd have to comment it out and then run the optimize command.



            Symfony 4 => 5 : Problem with ApiPlatform
            Asked 2021-Sep-06 at 11:37

            I'm trying to upgrade a project from Symfony 4.4 to 5. I have a problem with api-platform/core package.

            I updated all symfony/* package to 4.4.* to 5.0.* and updated api_platform/core from 2.6 to 2.6.5

            When I run composer update --with-all-dependencies it returns :



            Answered 2021-Sep-06 at 11:37

            api-platform/core v2.6.5 requires symfony/http-foundation ^4.4 || ^5.1

            ...this obviously forbids using Symfony 5.0 with api-platform/core.

            Also, Symfony 5.0 is out of support since over a year. Please consider using a supported version of Symfony, like 5.3



            Akeneo pim 5.0 installation database error
            Asked 2021-Jun-01 at 18:49

            I have been trying to install akeneo pim 5.0.
            I am getting following error.

            request.CRITICAL: Uncaught PHP Exception PDOException: "SQLSTATE[42S02]: Base table or view not found: 1146 Table 'akeneo_pim.pim_session' doesn't exist" at /var/www/akeneo-pim/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php line 625 {"exception":"[object] (PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table 'akeneo_pim.pim_session' doesn't exist at /var/www/akeneo-pim/vendor/symfony/http-foundation/Session/Storage/Handler/PdoSessionHandler.php:625)"} []



            Answered 2021-Jun-01 at 18:49

            It is might be an elastic search issue. Before installing your pim copy .env to .env.local and update the .env.local file as per your requirement.



            How to resolve the Composer dependencies conflicts (a clean way)?
            Asked 2021-Apr-16 at 15:23

            I'm writing a PHP application based on Symfony v5.0.11. Now I want to upgrade Symfony to the ^v5.2. (The Composer version is 2.0.12.)



            Answered 2021-Apr-16 at 07:58

            Considering your output:

            Restricting packages listed in "symfony/symfony" to "5.0.*"

            You currently have something like this in your composer.json:



            How to prevent Swagger UI from losing authentication upon browser reload
            Asked 2021-Mar-20 at 18:29

            While my end goal is to prevent Swagger UI from losing authentication upon browser reload, I believe I might have found a solution assuming swagger-ui parameters can be changed when using api-platform, and described it at the tail of this post.

            A REST API uses Symfony, API-platform and authenticates using JWT and documentation is provided by swagger-ui. On the swagger-ui page, after submitting the apiKey, future requests include it in the header, however, if the browser is refreshed, the authorization token is lost.

            There has been some discussion on this topic primarily on this github post and some on this stackoverflow post, and the general consensus seems to be that swagger-ui there is no "official" way to persist tokens.

            Overall Swagger UI does not store tokens, and probably on purpose. There is no switch to enable this, but looks like there are little things that can be done to remember a token via cookie, local storage, indexdb, etc and when the page is reloaded, populate the token back in.

            The swagger configuration documentation, however, appears to have an Authorization parameter which will allow the authorization data to be persisted upon browser refresh.

            • Parameter name: persistAuthorization
            • Docker variable: PERSIST_AUTHORIZATION
            • Description: Boolean=false. If set to true, it persists authorization data and it would not be lost on browser close/refresh

            Assuming I correctly interpret the Swagger documentation, how can the persistAuthorization parameter be set to true?

            When modifying config/api_platform.yaml to set persistAuthorization, I received errors Unrecognized option "persistAuthorization" under "api_platform.swagger.api_keys.apiKey". Available options are "name", "type". and Unrecognized option "persistAuthorization" under "api_platform.swagger". Available options are "api_keys", "versions".



            Answered 2021-Mar-20 at 17:58

            You can for now use the dev version


            Community Discussions, Code Snippets contain sources that include Stack Exchange Network


            No vulnerabilities reported

            Install http-foundation

            You can download it from GitHub.
            PHP requires the Visual C runtime (CRT). The Microsoft Visual C++ Redistributable for Visual Studio 2019 is suitable for all these PHP versions, see You MUST download the x86 CRT for PHP x86 builds and the x64 CRT for PHP x64 builds. The CRT installer supports the /quiet and /norestart command-line switches, so you can also script it.


            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
          • HTTPS


          • CLI

            gh repo clone symfony/http-foundation

          • sshUrl


          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link