elephox / http
Elephox HTTP library.
v0.7.0
2022-10-21 15:39 UTC
Requires
- php: ^8.1 <8.3
- ext-mbstring: *
- elephox/collection: dev-develop
- elephox/files: dev-develop
- elephox/mimey: ^4.0
- elephox/oor: dev-develop
- elephox/stream: dev-develop
- elephox/support: dev-develop
- jetbrains/phpstorm-attributes: ^1.0
This package is auto-updated.
Last update: 2026-05-29 01:51:58 UTC
README
This module is used by Elephox to work with HTTP messages. It provides a range of features like parsing incoming HTTP messages, creating outgoing HTTP messages, parsing and modifying headers, cookies, query parameters, uploaded files, and URL parsing.
Examples
<?php use Elephox\Http\ServerRequestBuilder; use Elephox\Http\Url; use Elephox\Http\Cookie; use Elephox\Http\Response; use Elephox\Http\ResponseCode; use Elephox\Http\ResponseSender; use Elephox\Http\UrlScheme; $request = ServerRequestBuilder::fromGlobals(); $request->getUrl()->path; // '/requested/path' $newRequest = $request->with() ->header('X-Foo', 'bar') ->cookie(new Cookie('dough', 'choco')) ->requestUrl(Url::fromString('https://example.com/new/url')) ->get(); $response = Response::build() ->responseCode(ResponseCode::OK) ->htmlBody('<h1>Hello World</h1>') ->header('X-Foo', 'bar') ->get(); ResponseSender::sendResponse($response); // you can also pass a response builder object here $url = Url::fromString('https://user@example.com/with/query?foo=bar&baz=qux'); $url->path; // '/with/query' $url->query; // ['foo' => 'bar', 'baz' => 'qux'] $url->host; // 'example.com' $url->port; // null $url->scheme === UrlScheme::HTTPS; // true $url->scheme->getDefaultPort(); // 443 $url->scheme->getScheme(); // 'https' $url->user; // 'user' $url->pass; // null $url->fragment; // null