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
- dev-develop
- 0.9.0.x-dev
- 0.8.0.x-dev
- v0.7.0
- v0.6.0
- v0.5.0
- v0.4.3
- 0.4.0
- 0.4.0-alpha5
- 0.4.0-alpha4
- 0.4.0-alpha3
- 0.4.0-alpha2
- 0.4.0-alpha1
- 0.3.27
- v0.3.25
- v0.3.24
- v0.3.23
- v0.3.22
- v0.3.21
- v0.3.20
- v0.3.18
- v0.3.17
- v0.3.16
- v0.3.15
- v0.3.14
- v0.3.13
- v0.3.12
- v0.3.11
- v0.3.10
- v0.3.9
- v0.3.8
- v0.3.7
- v0.3.6
- v0.3.5
- v0.3.4
- v0.1
- dev-release/0.9
- dev-release/0.8
- dev-release/0.7
- dev-release/0.6.0
- dev-16-psr-20-clock
- dev-18-make-servicecollection-more-extensible
- dev-release/0.6
- dev-release/0.5
- dev-release/0.4
- dev-release/0.3
This package is auto-updated.
Last update: 2024-10-30 02:16:10 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