File: docs/README.txt

Recommend this page to a friend!
  Classes of Kjell-Inge Gustafsson  >  PHP PSR HTTP Message  >  docs/README.txt  >  Download  
File: docs/README.txt
Role: Documentation
Content type: text/plain
Description: Documentation
Class: PHP PSR HTTP Message
PSR-7 compliant HTTP request handling
Author: By
Last change:
Date: 1 year ago
Size: 3,796 bytes
 

Contents

Class file image Download
Kigkonsult\Http\Message package

provide PSR server-side
    
- Message class

- Stream class

- Response class


MESSAGE class
- implements Psr\Http\Message\MessageInterface
- constructor args:  body, headers, protocolVersion
    body            null|string|StreamInterface
    headers         null|string[]
    protocolVersion null|string

STREAM class
- implements Psr\Http\Message\StreamInterface
- constructor args: content, streamWrapper/resource, mode
    content        null|string
    streamWrapper  null|string|resource  (defaults to 'php://memory')
    mode           null|string           (defaults to 'wb+')

- with a (static) factory methods
--  factoryFromString( [ content [, streamWrapper [, mode ]]] )
      content        null|string
      streamWrapper  null|string   (defaults to 'php://memory')
      mode           null|string   (defaults to 'wb+')
--  factoryFromResource( resource )
    resource  resource

RESPONSE class
- extends Message
- implements
    Psr\Http\Message\ResponseInterface
    Fig\Http\Message\StatusCodeInterface
- constructor args:  body, status, headers
    body     null|string|resource|StreamInterface
    status   null|int     (defaults to STATUS_OK, 200)
    headers  null|array

The Response class has an added property: 
- rawBody
--  response body (type mixed) before serialization/encoding

in parallel with `ServerRequest::parsedBody` and `ServerRequest::body`
 
with corresponding methods:
-  getRawBody()
--   Return mixed rawBody

- isRawBodyEmpty()
--  Return bool true on empty rawBody

- withRawBody()
--  Return new instance with rawBody

and two rawBody/body methods
- getResponseBody()
--  Return mixed
      rawBody if not empty
      body if not empty
      null

- isBodyEmpty()
--  Return bool true if (serialized/encoded) body is empty
 
Two statusCode methods are added:

- assertStatusCode()
--  static, Validates statusCode, throws InvalidArgumentException on error

- isBodyLessResponse()
--  Return bool true on statusCode 1xx, 204 or 304


INSTALL
 
Composer (https://getcomposer.org/), from the Command Line:
 
composer require kigkonsult/http-master:dev-master


Composer, in your `composer.json`:
 
{
    "require": {
        "kigkonsult/http-master": "dev-master"
    }
}

Composer, acquire access
~~~~~~
<?php
use Kigkonsult\Http\Message\Stream;
use Kigkonsult\Http\Message\Message;
use Kigkonsult\Http\Message\Response;
...
include 'vendor/autoload.php';

~~~~~~

Otherwise , download and acquire..
~~~~~~
<?php
use Kigkonsult\Http\Message\Stream;
use Kigkonsult\Http\Message\Message;
use Kigkonsult\Http\Message\Response;
...
include 'pathToSource/http-master/autoload.php';

~~~~~~


Copyright (c) 2019 Kjell-Inge Gustafsson, kigkonsult, All rights reserved
Link      https://kigkonsult.se
Package   http-master
Version   1.0
License   Subject matter of licence is the software http-message.
          The above copyright, link, package and version notices and
          this licence notice shall be included in all copies or
          substantial portions of the http-message.

          http-message is free software: you can redistribute it and/or modify
          it under the terms of the GNU Lesser General Public License as published
          by the Free Software Foundation, either version 3 of the License,
          or (at your option) any later version.

          http-message is distributed in the hope that it will be useful,
          but WITHOUT ANY WARRANTY; without even the implied warranty of
          MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
          GNU Lesser General Public License for more details.

          You should have received a copy of the GNU Lesser General Public License
          along with http-message. If not, see <https://www.gnu.org/licenses/>.
For more information send a message to info at phpclasses dot org.