HTTP Request

The Http module covers the entire request/response cycle of NeoPHP: incoming request abstraction, HTTP response types, session management, flash messages, cookies, and file uploads.


Module Structure

Http/
├── Request/
│   ├── Request.php                          Incoming HTTP request (immutable)
│   └── Collector/RequestCollector.php       Profiler collector
├── Response/
│   ├── ResponseManager.php                  Response factory
│   ├── ResponseModule.php
│   ├── Types/
│   │   ├── Response.php                     HTTP response (getters + toArray())
│   │   ├── JsonResponse.php                 JSON response
│   │   └── RedirectResponse.php             Redirect response
│   └── Extension/ResponseControllerExtension.php
├── HttpClient/
│   ├── HttpClientManager.php                Outgoing cURL HTTP client
│   ├── HttpClientModule.php
│   ├── Interface/HttpClientInterface.php
│   └── Exception/HttpClientException.php
├── Client/
│   ├── ClientManager.php
│   ├── ClientModule.php
│   ├── Session/
│   │   ├── Session.php                      Native PHP session
│   │   └── Extension/SessionControllerExtension.php
│   ├── Flash/
│   │   ├── Flash.php                        Ephemeral flash messages
│   │   ├── Extension/FlashControllerExtension.php
│   │   └── Extension/FlashViewExtension.php
│   └── Cookie/
│       ├── Cookie.php                       Cookies with automatic prefixing
│       └── Extension/CookieControllerExtension.php
└── File/
    ├── UploaderManager.php                  Secure file uploads
    ├── UploaderModule.php
    ├── Model/UploadedFile.php
    ├── Exception/
    └── Extension/UploaderControllerExtension.php

Documentation by Component

ComponentDescriptionREADME
RequestIncoming HTTP request, reading data, files, IPRequest/README.md
ResponseHTTP responses, JSON, redirect, getters, toArray()Response/README.md
HttpClientOutgoing cURL HTTP client, options, auth, toArray()HttpClient/README.md
SessionNative PHP session, configuration, methods, CLI no-opClient/Session/README.md
FlashSession flash messages, HTML rendering, TwigClient/Flash/README.md
CookiePrefixed cookies, configuration, read/writeClient/Cookie/README.md
FileSecure upload, validation, extension blacklistFile/README.md

Controller Extensions

Each component automatically injects its methods into AbstractController:

MethodComponent
getSession()Session
getFlash()Flash
getCookie()Cookie
json() / jsonSuccess() / jsonError()Response
upload()File

Twig Function

FunctionComponentDescription
flashes()FlashHTML rendering of every pending flash message