Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thiagodp/httpwrapper
A wrapper for the PSR-7's ResponseInterface.
https://github.com/thiagodp/httpwrapper
builder http php phputil psr-7 wrapper
Last synced: 1 day ago
JSON representation
A wrapper for the PSR-7's ResponseInterface.
- Host: GitHub
- URL: https://github.com/thiagodp/httpwrapper
- Owner: thiagodp
- License: lgpl-3.0
- Created: 2016-06-03T05:29:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-02-12T23:58:49.000Z (over 6 years ago)
- Last Synced: 2024-09-23T04:48:13.972Z (about 2 months ago)
- Topics: builder, http, php, phputil, psr-7, wrapper
- Language: PHP
- Size: 6.84 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# HTTP Wrapper
This library provides a wrapper for the
[PSR-7](http://www.php-fig.org/psr/psr-7/)'s `ResponseInterface`.
You have to use it with a library/framework that offers
a [PSR-7](http://www.php-fig.org/psr/psr-7/) implementation,
such as [Slim 3](http://www.slimframework.com/),
[Guzzle](http://guzzlephp.org/),
[Aura](https://github.com/auraphp/Aura.Router/tree/3.x#aurarouter) or
[Zend](https://github.com/zendframework/zend-diactoros).We use [semantic versioning](http://semver.org/). See our [releases](https://github.com/thiagodp/httpwrapper/releases).
Classes:
* [phputil\HttpResponseWrapper](https://github.com/thiagodp/httpwrapper/blob/master/lib/HttpResponseWrapper.php)
Dependencies (installed automatically by `composer`):
* [phputil/http](https://github.com/thiagodp/http)
* [phputil/json](https://github.com/thiagodp/json)### Installation
```command
composer require phputil/httpwrapper
```### Example 1
Using with Slim 3:
```php
get( '/names', function ( $request, $response, $args ) use ( $hrw ) {$names = array( 'Suzan', 'Mary', 'Mike', 'Bob' );
// Will return HTTP 200 with the array as JSON encoded with UTF-8
return $hrw->with( $response )
->withStatusOk()
->asJsonUtf8( $names ) // Any var type accepted
->end()
;
} );$app->get( '/bad', function ( $request, $response, $args ) use ( $hrw ) {
// Will return HTTP 400
return $hrw->with( $response )->withStatusBadRequest->end();
} );$app->get( '/i-am-just-curious', function ( $request, $response, $args ) use ( $hrw ) {
// Will return HTTP 403 (Forbidden)
return $hrw->with( $response )->withStatusForbidden->end();
} );?>
```### Example 2
Also with Slim 3:
```php
get( '/names', function ( $request, $response, $args ) use ( $hrw ) {$names = array( 'Suzan', 'Mary', 'Mike', 'Bob' );
// Helper method to return HTTP 200 with a JSON content encoded with UTF-8.
return $hrw->with( $response )->ok( $names );
} );$app->get( '/bad', function ( $request, $response, $args ) use ( $hrw ) {
// Helper method to return HTTP 400 with a JSON content encoded with UTF-8.
return $hrw->with( $response )->bad( array( 'Something bad happened' ) );
} );$app->get( '/none', function ( $request, $response, $args ) use ( $hrw ) {
// Helper method to return HTTP 204.
return $hrw->with( $response )->noContent();
} );?>
```