https://github.com/xp-framework/http
HTTP protocol support for the XP Framework
https://github.com/xp-framework/http
http-client php ssl-connection xp-framework
Last synced: 8 months ago
JSON representation
HTTP protocol support for the XP Framework
- Host: GitHub
- URL: https://github.com/xp-framework/http
- Owner: xp-framework
- Created: 2013-11-12T11:06:57.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2024-03-24T11:58:12.000Z (almost 2 years ago)
- Last Synced: 2025-05-03T14:42:01.072Z (8 months ago)
- Topics: http-client, php, ssl-connection, xp-framework
- Language: PHP
- Size: 3.37 MB
- Stars: 2
- Watchers: 3
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
Awesome Lists containing this project
README
HTTP protocol support for the XP Framework
========================================================================
[](https://github.com/xp-framework/http/actions)
[](https://github.com/xp-framework/core)
[](https://github.com/xp-framework/core/blob/master/LICENCE.md)
[](http://php.net/)
[](http://php.net/)
[](https://packagist.org/packages/xp-framework/http)
Implements HTTP (HyperText Transfer Protocol) and provides a client to interact with HTTP servers. The `HttpConnection` is the entry point class.
Methods
-------
Different request methods are handled by `HttpConnection` class methods as follows:
* GET - via `get()`
* POST - via `post()`
* HEAD - via `head()`
* PUT - via `put()`
* PATCH - via `patch()`
* DELETE - via `delete()`
* OPTIONS - via `options()`
* TRACE - via `trace()`
Other methods (e.g. `MKCOL` from WebDAV) are supported via `request()`.
Headers
-------
The following code will show the response headers for a HEAD request:
```php
use peer\http\HttpConnection;
$c= new HttpConnection('http://xp-framework.net/');
Console::writeLine($c->head());
```
Getting data
-----------
```php
with ($c= new HttpConnection('http://xp-framework.net/')); {
$response= $c->get();
Console::writeLine('Response: ', $response);
$in= $response->in();
while ($in->available()) {
$bytes= $in->read();
}
}
```
SSL support
-----------
This API also supports SSL connections - based on the scheme given to `HttpConnection`'s constructor the `HttpRequestFactory` class will create an SSL connection. This is transparent from the outside, the rest of the calls are the same!
Example:
```php
$c= new HttpConnection('https://example.com/');
```
Note: SSL connections depend on either the PHP extension `curl` or `openssl`.