Public Member Functions | |
__construct ($url=null, $method=self::METHOD_GET, array $config=array()) | |
setUrl ($url) | |
getUrl () | |
setMethod ($method) | |
getMethod () | |
setConfig ($nameOrConfig, $value=null) | |
getConfig ($name=null) | |
setAuth ($user, $password= '', $scheme=self::AUTH_BASIC) | |
getAuth () | |
setHeader ($name, $value=null, $replace=true) | |
getHeaders () | |
addCookie ($name, $value) | |
setBody ($body, $isFilename=false) | |
getBody () | |
addUpload ($fieldName, $filename, $sendFilename=null, $contentType=null) | |
addPostParameter ($name, $value=null) | |
attach (SplObserver $observer) | |
detach (SplObserver $observer) | |
notify () | |
setLastEvent ($name, $data=null) | |
getLastEvent () | |
setAdapter ($adapter) | |
setCookieJar ($jar=true) | |
getCookieJar () | |
send () | |
Public Attributes | |
const | METHOD_OPTIONS = 'OPTIONS' |
const | METHOD_GET = 'GET' |
const | METHOD_HEAD = 'HEAD' |
const | METHOD_POST = 'POST' |
const | METHOD_PUT = 'PUT' |
const | METHOD_DELETE = 'DELETE' |
const | METHOD_TRACE = 'TRACE' |
const | METHOD_CONNECT = 'CONNECT' |
const | AUTH_BASIC = 'basic' |
const | AUTH_DIGEST = 'digest' |
const | REGEXP_INVALID_TOKEN = '![\x00-\x1f\x7f-\xff()<>@,;:\\\\"/\[\]?={}\s]!' |
const | REGEXP_INVALID_COOKIE = '/[\s,;]/' |
Protected Member Functions | |
fopenWrapper ($file, $detectType=false) | |
Static Protected Member Functions | |
static | detectMimeType ($filename) |
Protected Attributes | |
$observers = array() | |
$url | |
$method = self::METHOD_GET | |
$auth | |
$headers = array() | |
$config | |
$lastEvent | |
$body = '' | |
$postParams = array() | |
$uploads = array() | |
$adapter | |
$cookieJar = null | |
Definition at line 42 of file Request2.php.
HTTP_Request2::__construct | ( | $url = null , |
|
$method = self::METHOD_GET , |
|||
array | $config = array() |
||
) |
Constructor. Can set request URL, method and configuration array.
Also sets a default value for User-Agent header.
string | Net_Url2 | $url | Request URL |
string | $method | Request method |
array | $config | Configuration for this Request instance |
Definition at line 205 of file Request2.php.
HTTP_Request2::addCookie | ( | $name, | |
$value | |||
) |
Adds a cookie to the request
If the request does not have a CookieJar object set, this method simply appends a cookie to "Cookie:" header.
If a CookieJar object is available, the cookie is stored in that object. Data from request URL will be used for setting its 'domain' and 'path' parameters, 'expires' and 'secure' will be set to null and false, respectively. If you need further control, use CookieJar's methods.
string | $name | cookie name |
string | $value | cookie value |
HTTP_Request2_LogicException |
Definition at line 548 of file Request2.php.
HTTP_Request2::addPostParameter | ( | $name, | |
$value = null |
|||
) |
Adds POST parameter(s) to the request.
string | array | $name | parameter name or array ('name' => 'value') |
mixed | $value | parameter value (can be an array) |
Definition at line 700 of file Request2.php.
HTTP_Request2::addUpload | ( | $fieldName, | |
$filename, | |||
$sendFilename = null , |
|||
$contentType = null |
|||
) |
Adds a file to form-based file upload
Used to emulate file upload via a HTML form. The method also sets Content-Type of HTTP request to 'multipart/form-data'.
If you just want to send the contents of a file as the body of HTTP request you should use setBody() method.
If you provide file pointers rather than file names, they should support fstat() and rewind() operations.
string | $fieldName | name of file-upload field |
string | resource | array | $filename | full name of local file, pointer to open file or an array of files |
string | $sendFilename | filename to send in the request |
string | $contentType | content-type of file being uploaded |
HTTP_Request2_LogicException |
Definition at line 654 of file Request2.php.
HTTP_Request2::attach | ( | SplObserver | $observer | ) |
Attaches a new observer
SplObserver | $observer | any object implementing SplObserver |
Definition at line 721 of file Request2.php.
HTTP_Request2::detach | ( | SplObserver | $observer | ) |
Detaches an existing observer
SplObserver | $observer | any object implementing SplObserver |
Definition at line 736 of file Request2.php.
|
staticprotected |
Tries to detect MIME type of a file
The method will try to use fileinfo extension if it is available, deprecated mime_content_type() function in the other case. If neither works, default 'application/octet-stream' MIME type is returned
string | $filename | file name |
Definition at line 1012 of file Request2.php.
|
protected |
Wrapper around fopen()/fstat() used by setBody() and addUpload()
string | resource | $file | file name or pointer to open file |
bool | $detectType | whether to try autodetecting MIME type of file, will only work if $file is a filename, not pointer |
HTTP_Request2_LogicException |
Definition at line 967 of file Request2.php.
HTTP_Request2::getAuth | ( | ) |
Returns the authentication data
The array has the keys 'user', 'password' and 'scheme', where 'scheme' is one of the HTTP_Request2::AUTH_* constants.
Definition at line 441 of file Request2.php.
HTTP_Request2::getBody | ( | ) |
Returns the request body
Definition at line 610 of file Request2.php.
HTTP_Request2::getConfig | ( | $name = null | ) |
Returns the value(s) of the configuration parameter(s)
string | $name | parameter name |
HTTP_Request2_LogicException | If the parameter is unknown |
Definition at line 396 of file Request2.php.
HTTP_Request2::getCookieJar | ( | ) |
Returns current CookieJar object or null if none
Definition at line 897 of file Request2.php.
HTTP_Request2::getHeaders | ( | ) |
Returns the request headers
The array is of the form ('header name' => 'header value'), header names are lowercased
Definition at line 525 of file Request2.php.
HTTP_Request2::getLastEvent | ( | ) |
Returns the last event
Observers should use this method to access the last change in request. The following event names are possible:
Different adapters may not send all the event types. Mock adapter does not send any events to the observers.
Definition at line 803 of file Request2.php.
HTTP_Request2::getMethod | ( | ) |
HTTP_Request2::getUrl | ( | ) |
HTTP_Request2::notify | ( | ) |
Notifies all observers
Definition at line 749 of file Request2.php.
HTTP_Request2::send | ( | ) |
Sends the request and returns the response
HTTP_Request2_Exception |
Definition at line 908 of file Request2.php.
HTTP_Request2::setAdapter | ( | $adapter | ) |
Sets the adapter used to actually perform the request
You can pass either an instance of a class implementing HTTP_Request2_Adapter or a class name. The method will only try to include a file if the class name starts with HTTP_Request2_Adapter_, it will also try to prepend this prefix to the class name if it doesn't contain any underscores, so that $request->setAdapter('curl');
will work.
string | HTTP_Request2_Adapter | $adapter | Adapter to use |
HTTP_Request2_LogicException |
Definition at line 825 of file Request2.php.
HTTP_Request2::setAuth | ( | $user, | |
$password = '' , |
|||
$scheme = self::AUTH_BASIC |
|||
) |
Sets the autentification data
string | $user | user name |
string | $password | password |
string | $scheme | authentication scheme |
Definition at line 418 of file Request2.php.
HTTP_Request2::setBody | ( | $body, | |
$isFilename = false |
|||
) |
Sets the request body
If you provide file pointer rather than file name, it should support fstat() and rewind() operations.
string | resource | HTTP_Request2_MultipartBody | $body | Either a string with the body or filename containing body or pointer to an open file or object with multipart body data |
bool | $isFilename | Whether first parameter is a filename |
HTTP_Request2_LogicException |
Definition at line 585 of file Request2.php.
HTTP_Request2::setConfig | ( | $nameOrConfig, | |
$value = null |
|||
) |
Sets the configuration parameter(s)
The following parameters are available:
string | array | $nameOrConfig | configuration parameter name or array ('parameter name' => 'parameter value') |
mixed | $value | parameter value if $nameOrConfig is not an array |
HTTP_Request2_LogicException | If the parameter is unknown |
Definition at line 357 of file Request2.php.
HTTP_Request2::setCookieJar | ( | $jar = true | ) |
Sets the cookie jar
A cookie jar is used to maintain cookies across HTTP requests and responses. Cookies from jar will be automatically added to the request headers based on request URL.
HTTP_Request2_CookieJar | bool | $jar | Existing CookieJar object, true to create a new one, false to remove |
HTTP_Request2_LogicException |
Definition at line 870 of file Request2.php.
HTTP_Request2::setHeader | ( | $name, | |
$value = null , |
|||
$replace = true |
|||
) |
Sets request header(s)
The first parameter may be either a full header string 'header: value' or header name. In the former case $value parameter is ignored, in the latter the header's value will either be set to $value or the header will be removed if $value is null. The first parameter can also be an array of headers, in that case method will be called recursively.
Note that headers are treated case insensitively as per RFC 2616.
$req->setHeader('Foo: Bar'); // sets the value of 'Foo' header to 'Bar' $req->setHeader('FoO', 'Baz'); // sets the value of 'Foo' header to 'Baz' $req->setHeader(array('foo' => 'Quux')); // sets the value of 'Foo' header to 'Quux' $req->setHeader('FOO'); // removes 'Foo' header from request
string | array | $name | header name, header string ('Header: value') or an array of headers |
string | array | null | $value | header value if $name is not an array, header will be removed if value is null |
bool | $replace | whether to replace previous header with the same name or append to its value |
HTTP_Request2_LogicException |
Definition at line 474 of file Request2.php.
HTTP_Request2::setLastEvent | ( | $name, | |
$data = null |
|||
) |
Sets the last event
Adapters should use this method to set the current state of the request and notify the observers.
string | $name | event name |
mixed | $data | event data |
Definition at line 765 of file Request2.php.
HTTP_Request2::setMethod | ( | $method | ) |
Sets the request method
string | $method | one of the methods defined in RFC 2616 |
HTTP_Request2_LogicException | if the method name is invalid |
Definition at line 279 of file Request2.php.
HTTP_Request2::setUrl | ( | $url | ) |
Sets the URL for this request
If the URL has userinfo part (username & password) these will be removed and converted to auth data. If the URL does not have a path component, that will be set to '/'.
string | Net_URL2 | $url | Request URL |
HTTP_Request2_LogicException |
Definition at line 233 of file Request2.php.
|
protected |
Definition at line 188 of file Request2.php.
|
protected |
Definition at line 111 of file Request2.php.
|
protected |
Definition at line 170 of file Request2.php.
|
protected |
Definition at line 124 of file Request2.php.
|
protected |
Definition at line 194 of file Request2.php.
|
protected |
Definition at line 117 of file Request2.php.
|
protected |
Definition at line 160 of file Request2.php.
|
protected |
Definition at line 104 of file Request2.php.
|
protected |
Definition at line 92 of file Request2.php.
|
protected |
Definition at line 176 of file Request2.php.
|
protected |
Definition at line 182 of file Request2.php.
|
protected |
Definition at line 98 of file Request2.php.
const HTTP_Request2::AUTH_BASIC = 'basic' |
#@- #@+ Constants for HTTP authentication schemes
http://tools.ietf.org/html/rfc2617
Definition at line 64 of file Request2.php.
const HTTP_Request2::AUTH_DIGEST = 'digest' |
Definition at line 65 of file Request2.php.
const HTTP_Request2::METHOD_CONNECT = 'CONNECT' |
Definition at line 56 of file Request2.php.
const HTTP_Request2::METHOD_DELETE = 'DELETE' |
Definition at line 54 of file Request2.php.
const HTTP_Request2::METHOD_GET = 'GET' |
Definition at line 50 of file Request2.php.
const HTTP_Request2::METHOD_HEAD = 'HEAD' |
Definition at line 51 of file Request2.php.
const HTTP_Request2::METHOD_OPTIONS = 'OPTIONS' |
#@+ Constants for HTTP request methods
http://tools.ietf.org/html/rfc2616#section-5.1.1
Definition at line 49 of file Request2.php.
const HTTP_Request2::METHOD_POST = 'POST' |
Definition at line 52 of file Request2.php.
const HTTP_Request2::METHOD_PUT = 'PUT' |
Definition at line 53 of file Request2.php.
const HTTP_Request2::METHOD_TRACE = 'TRACE' |
Definition at line 55 of file Request2.php.
const HTTP_Request2::REGEXP_INVALID_COOKIE = '/[\s,;]/' |
Regular expression used to check for invalid symbols in cookie strings http://web.archive.org/web/20080331104521/http://cgi.netscape.com/newsref/std/cookie_spec.html
Definition at line 79 of file Request2.php.
const HTTP_Request2::REGEXP_INVALID_TOKEN = '![\x00-\x1f\x7f-\xff()<>@,;:\\\\"/\[\]?={}\s]!' |
#@- Regular expression used to check for invalid symbols in RFC 2616 tokens http://pear.php.net/bugs/bug.php?id=15630
Definition at line 72 of file Request2.php.