PSR-7 and PSR-17 implementation, works with PHP >= 5.3.

1.0.5 2017-07-23 08:46 UTC

README

PSR-7 and PSR-17 (Draft) implementation, works with PHP >= 5.3.

Sandesh: संदेश (message)

Build status Code Coverage Latest Version Downloads PHP Version License

SensioLabsInsight

Install

composer require vaibhavpandeyvpz/sandesh

Usage

<?php

/**
 * @desc Creates an instance of Psr\Http\Message\RequestInterface.
 */
$request = (new Sandesh\RequestFactory())
    ->createRequest('POST', 'https://api.example.com/user/save');

/**
 * @desc Creates an instance of Psr\Http\Message\ServerRequestInterface.
 */
$request = (new Sandesh\ServerRequestFactory())
    ->createServerRequestFromArray($_SERVER);

/**
 * @desc Creates an instance of Psr\Http\Message\ResponseInterface.
 */
$response = (new Sandesh\ResponseFactory())
    ->createResponse(404);

/**
 * @desc Creates an instance of Psr\Http\Message\StreamInterface.
 */
$stream = (new Sandesh\StreamFactory())
    ->createStream();

// or
$stream = (new Sandesh\StreamFactory())
    ->createStreamFromFile('/path/to/file');

// or
$stream = (new Sandesh\StreamFactory())
    ->createStreamFromResource(fopen('php://input', 'r'));

/**
 * @desc Creates an instance of Psr\Http\Message\UriInterface.
 */
$uri = (new Sandesh\UriFactory())
    ->createUri('http://domain.tld:9090/subdir?test=true#phpunit');

Bonus

<?php

/**
 * @desc Parse Set-Cookie header(s) and create an instance of Sandesh\CookieInterface.
 */
$cookie = (new Sandesh\CookieFactory())
    ->createCookie('PHPSESS=1234567890; Domain=domain.tld; Expires=Wed, 21 Oct 2015 07:28:00 GMT; HttpOnly; Max-Age=86400; Path=/admin; Secure');

/**
 * @desc After making changes you can just cast it to a RFC-6265 valid string as show below.
 */
$header = (string)$cookie;

Documentation

To view detailed instructions, please visit the Wiki.

License

See LICENSE file.