LFT
  • Namespace
  • Class
  • Tree

Namespaces

  • Docoflow
    • Contracts
    • Entity
    • Facades
    • Models
    • Traits
  • Docolight
    • Agno
      • Traits
    • Container
    • Http
      • Contracts
    • Rest
      • Handler
      • Http
    • Support
      • Debug
      • Traits
  • Docotory
    • Traits
  • None

Classes

  • Headers
  • JsonResponse
  • MimeResponse
  • Response
  • ResponseFactory

Class Response

This is a simple abstraction over top an HTTP response. This provides methods to set the HTTP status, the HTTP headers, and the HTTP body.

$response = new Docolight\Http\Response(new Docolight\Http\Headers(array('Content-Type' => 'text/html')));

// Or you can resolve via factory
// $response = with(new Docolight\Http\ResponseFactory())->produce();

// Move even shorter way
// $response = container('response')->produce();

// Set your header
$response->headers->set('Foo', 'Bar');

// Set your response status
$response->setStatus(202);

// Set your response body
$response->setBody('PUT YOUR HTML HERE');

// Send your response to client
$response->send();

// In shorter way
// response(
//    'base',
//    200,
//    'PUT YOUR HTML HERE',
//    array('Foo' => 'Bar')
// )->send();
CApplicationComponent
Extended by Docolight\Http\Response implements ArrayAccess

Direct known subclasses

Docolight\Http\MimeResponse

Indirect known subclasses

Docolight\Http\JsonResponse

Namespace: Docolight\Http
Author: Krisan Alfa Timur krisanalfa@docotel.co.id
Located at Docolight/Http/Response.php

Methods summary

public
# __construct( Docolight\Http\Headers $headers )

Constructor

Constructor

Parameters

$headers
public integer
# getStatus( )

Get current status code

Get current status code

Returns

integer
public Docolight\Http\Response
# setStatus( integer $status )

Set current HTTP statuc sode

Set current HTTP statuc sode

Parameters

$status
Current status code

Returns

Docolight\Http\Response
public string
# getBody( )

Return HTTP response Body

Return HTTP response Body

Returns

string
public Docolight\Http\Response
# setBody( string $content )

Set current HTTP response body

Set current HTTP response body

Parameters

$content

Returns

Docolight\Http\Response
public Docolight\Http\Response
# write( string $body, boolean $replace = false )

Append HTTP response body.

Append HTTP response body.

Parameters

$body
Content to append to the current HTTP response body
$replace
Overwrite existing response body?

Returns

Docolight\Http\Response
public integer
# getLength( )

Get current response length

Get current response length

Returns

integer
public array[int
# finalize( )

Finalize prepares this response and returns an array of [status, headers, body].

Finalize prepares this response and returns an array of [status, headers, body].

Returns

array[int
status, array headers, string body]
public
# send( )

Send response to client

Send response to client

protected
# sendBody( string $body )

Send body

Send body

Parameters

$body
protected
# prepareHeaders( integer $status, Docolight\Http\Headers $headers )

Prepare headers before we send them

Prepare headers before we send them

Parameters

$status
$headers
public Docolight\Http\Response
# redirect( string $url, integer $status = 302 )

Redirect.

Redirect.

This method prepares this response to return an HTTP Redirect response to the HTTP client.

Parameters

$url
The redirect destination
$status
The redirect HTTP status code

Returns

Docolight\Http\Response
Maintain chaining access.
public boolean
# offsetExists( $offset )

Determine if value is available.

Determine if value is available.

Returns

boolean

Implementation of

ArrayAccess::offsetExists()
public mixed
# offsetGet( string $offset )

Get value

Get value

Parameters

$offset

Returns

mixed

Implementation of

ArrayAccess::offsetGet()
public
# offsetSet( string $offset, mixed $value )

Set value

Set value

Parameters

$offset
$value

Implementation of

ArrayAccess::offsetSet()
public
# offsetUnset( string $offset )

Remove a value

Remove a value

Parameters

$offset

Implementation of

ArrayAccess::offsetUnset()
public static string|null
# getMessageForCode( integer $status )

Get message for HTTP status code.

Get message for HTTP status code.

Parameters

$status

Returns

string|null
public static
# setMessage( integer $status, string $message )

Set custom HTTP Status Code message

Set custom HTTP Status Code message

Parameters

$status
$message
public
# init( )

Initialize component.

Initialize component.

protected mixed
# getEmpty( )

Default empty data

Default empty data

Returns

mixed

Properties summary

protected integer $status

HTTP status code

HTTP status code

# 200
public Docolight\Http\Headers $headers
# null
protected string $body

HTTP response body

HTTP response body

# ''
protected integer $length

Length of HTTP response body

Length of HTTP response body

# 0
protected static array $messages

HTTP response codes and messages

HTTP response codes and messages

# array( // Informational 1xx 100 => '100 Continue', 101 => '101 Switching Protocols', 102 => '102 Processing', // Successful 2xx 200 => '200 OK', 201 => '201 Created', 202 => '202 Accepted', 203 => '203 Non-Authoritative Information', 204 => '204 No Content', 205 => '205 Reset Content', 206 => '206 Partial Content', 207 => '207 Multi-Status', 208 => '208 Already Reported', 226 => '226 IM Used', // Redirection 3xx 300 => '300 Multiple Choices', 301 => '301 Moved Permanently', 302 => '302 Found', 303 => '303 See Other', 304 => '304 Not Modified', 305 => '305 Use Proxy', 306 => '306 (Unused)', 307 => '307 Temporary Redirect', 308 => '308 Permanent Redirect', // Client Error 4xx 400 => '400 Bad Request', 401 => '401 Unauthorized', 402 => '402 Payment Required', 403 => '403 Forbidden', 404 => '404 Not Found', 405 => '405 Method Not Allowed', 406 => '406 Not Acceptable', 407 => '407 Proxy Authentication Required', 408 => '408 Request Timeout', 409 => '409 Conflict', 410 => '410 Gone', 411 => '411 Length Required', 412 => '412 Precondition Failed', 413 => '413 Request Entity Too Large', 414 => '414 Request-URI Too Long', 415 => '415 Unsupported Media Type', 416 => '416 Requested Range Not Satisfiable', 417 => '417 Expectation Failed', 418 => '418 I\'m a teapot', 419 => '419 Authentication Timeout', 420 => '420 Method Failure', 421 => '421 Misdirected Request', 422 => '422 Unprocessable Entity', 423 => '423 Locked', 424 => '424 Failed Dependency', 426 => '426 Upgrade Required', 428 => '428 Precondition Required', 429 => '429 Too Many Requests', 431 => '431 Request Header Fields Too Large', 451 => '451 Unavailable For Legal Reasons', // Server Error 5xx 500 => '500 Internal Server Error', 501 => '501 Not Implemented', 502 => '502 Bad Gateway', 503 => '503 Service Unavailable', 504 => '504 Gateway Timeout', 505 => '505 HTTP Version Not Supported', 506 => '506 Variant Also Negotiates', 507 => '507 Insufficient Storage', 508 => '508 Loop Detected', 509 => '509 Bandwidth Limit Exceeded', 510 => '510 Not Extended', 511 => '511 Network Authentication Required', 520 => '520 Unknown Error', 598 => '598 Network Read Timeout Error', 599 => '599 Network Connect Timeout Error', )
LFT API documentation generated by ApiGen