Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
11 / 11
CRAP
100.00% covered (success)
100.00%
50 / 50
Messages
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
11 / 11
17
100.00% covered (success)
100.00%
50 / 50
 message
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
4 / 4
 request
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
6 / 6
 serverRequest
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
12 / 12
 sapiServerRequest
100.00% covered (success)
100.00%
1 / 1
6
100.00% covered (success)
100.00%
8 / 8
 response
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
6 / 6
 stream
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 stringStream
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 uri
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 sapiUri
100.00% covered (success)
100.00%
1 / 1
2
100.00% covered (success)
100.00%
3 / 3
 uploadedFile
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
7 / 7
 sapiUploadedFile
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
<?php
namespace PHPixie\HTTP;
class Messages
{
    public function message($protocolVersion, $headers, $body)
    {
        return new Messages\Message\Implementation(
            $protocolVersion,
            $headers,
            $body
        );
    }
    
    public function request($protocolVersion, $headers, $body, $method, $uri)
    {
        return new Messages\Message\Request\Implementation(
            $protocolVersion,
            $headers,
            $body,
            $method,
            $uri
        );
    }
    
    public function serverRequest(
        $protocolVersion,
        $headers,
        $body,
        $method,
        $uri,
        $serverParams,
        $queryParams,
        $parsedBody,
        $cookieParams,
        $uploadedFiles,
        $attributes = array()
    )
    {
        return new Messages\Message\Request\ServerRequest\Implementation(
            $protocolVersion,
            $headers,
            $body,
            $method,
            $uri,
            $serverParams,
            $queryParams,
            $parsedBody,
            $cookieParams,
            $uploadedFiles,
            $attributes
        );
    }
    
    public function sapiServerRequest(
        $server     = null,
        $get        = null,
        $post       = null,
        $cookie     = null,
        $files      = null,
        $attributes = array()
    )
    {   
        return new Messages\Message\Request\ServerRequest\SAPI(
            $this,
            $server !== null ? $server  : $_SERVER,
            $get    !== null ? $get     : $_GET,
            $post   !== null ? $post    : $_POST,
            $cookie !== null ? $cookie  : $_COOKIE,
            $files  !== null ? $files   : $_FILES,
            $attributes
        );
    }
    
   public function response($protocolVersion, $headers, $body, $statusCode = 200, $reasonPhrase = null)
    {
        return new Messages\Message\Response(
            $protocolVersion,
            $headers,
            $body,
            $statusCode,
            $reasonPhrase
        );
    }
    
    public function stream($uri, $mode = 'r')
    {
        return new Messages\Stream\Implementation($uri, $mode);
    }
    
    public function stringStream($string = '')
    {
        return new Messages\Stream\StringStream($string);
    }
    
    public function uri($uri)
    {
        return new Messages\URI\Implementation($uri);
    }
    
    public function sapiUri($server = null)
    {        
        return new Messages\URI\SAPI(
            $server !== null ? $server : $_SERVER
        );
    }
    
    public function uploadedFile(
        $file,
        $clientFilename  = null,
        $clientMediaType = null,
        $size            = null,
        $error           = UPLOAD_ERR_OK
    )
    {
        return new Messages\UploadedFile\Implementation(
            $this,
            $file,
            $clientFilename,
            $clientMediaType,
            $size,
            $error
        );
    }
    
    public function sapiUploadedFile($fileData)
    {
        return new Messages\UploadedFile\SAPI($this, $fileData);
    }
}