TYPO3
7.6
|
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 | |
Static Private Attributes | |
static | $_fileinfoDb |
Definition at line 42 of file Request2.php.
__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.
References $config, $method, $url, setConfig(), setHeader(), setMethod(), and setUrl().
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.
References HTTP_Request2_Exception\INVALID_ARGUMENT, and setHeader().
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.
References setHeader().
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.
References $filename, fopenWrapper(), and setHeader().
attach | ( | SplObserver | $observer | ) |
Attaches a new observer
SplObserver | $observer | any object implementing SplObserver |
Definition at line 721 of file Request2.php.
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.
References $filename.
|
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.
References HTTP_Request2_Exception\INVALID_ARGUMENT, and HTTP_Request2_Exception\READ_ERROR.
Referenced by addUpload(), and setBody().
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.
References $auth.
getBody | ( | ) |
Returns the request body
Definition at line 610 of file Request2.php.
References $body, elseif, and getConfig().
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.
References $config, elseif, and HTTP_Request2_Exception\INVALID_ARGUMENT.
Referenced by getBody(), HTTP_Request2_Adapter_Socket\handleRedirect(), send(), and HTTP_Request2_Adapter_Socket\sendRequest().
getCookieJar | ( | ) |
Returns current CookieJar object or null if none
Definition at line 897 of file Request2.php.
References $cookieJar.
Referenced by HTTP_Request2_Adapter_Socket\sendRequest(), and HTTP_Request2_Adapter_Curl\sendRequest().
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.
References $headers.
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.
References $lastEvent.
getMethod | ( | ) |
Returns the request method
Definition at line 298 of file Request2.php.
References $method.
getUrl | ( | ) |
Returns the request URL
Definition at line 266 of file Request2.php.
References $url.
Referenced by Download\determineFilename(), HTTP_Request2_Adapter_Socket\handleRedirect(), HTTP_Request2_Adapter_Mock\sendRequest(), HTTP_Request2_Adapter_Socket\sendRequest(), and HTTP_Request2_Adapter_Curl\sendRequest().
notify | ( | ) |
send | ( | ) |
Sends the request and returns the response
HTTP_Request2_Exception |
Definition at line 908 of file Request2.php.
References $response, Net_URL2\__toString(), getConfig(), HTTP_Request2_Exception\INVALID_ARGUMENT, Net_URL2\isAbsolute(), and setAdapter().
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.
References $adapter, HTTP_Request2_Exception\INVALID_ARGUMENT, and HTTP_Request2_Exception\MISSING_VALUE.
Referenced by send().
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.
Referenced by setUrl().
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.
References $body, fopenWrapper(), and setHeader().
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.
References $url, elseif, and HTTP_Request2_Exception\INVALID_ARGUMENT.
Referenced by __construct(), and HttpRequest\setConfiguration().
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.
References elseif, and HTTP_Request2_Exception\INVALID_ARGUMENT.
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.
References elseif, and HTTP_Request2_Exception\INVALID_ARGUMENT.
Referenced by __construct(), addCookie(), addPostParameter(), addUpload(), setBody(), and HttpRequest\setConfiguration().
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.
References notify().
Referenced by HTTP_Request2_Adapter_Curl\sendRequest().
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.
References $method, and HTTP_Request2_Exception\INVALID_ARGUMENT.
Referenced by __construct().
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.
References $url, HTTP_Request2_Exception\INVALID_ARGUMENT, Net_URL2\OPTION_USE_BRACKETS, and setAuth().
Referenced by __construct().
|
staticprivate |
Definition at line 86 of file Request2.php.
|
protected |
Definition at line 188 of file Request2.php.
Referenced by setAdapter().
|
protected |
Definition at line 111 of file Request2.php.
Referenced by getAuth().
|
protected |
Definition at line 170 of file Request2.php.
|
protected |
Definition at line 124 of file Request2.php.
Referenced by HttpRequest\__construct(), __construct(), getConfig(), and HttpRequest\setConfiguration().
|
protected |
Definition at line 194 of file Request2.php.
Referenced by getCookieJar().
|
protected |
Definition at line 117 of file Request2.php.
Referenced by getHeaders().
|
protected |
Definition at line 160 of file Request2.php.
Referenced by getLastEvent().
|
protected |
Definition at line 104 of file Request2.php.
Referenced by HttpRequest\__construct(), __construct(), getMethod(), and setMethod().
|
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.
Referenced by HttpRequest\__construct(), __construct(), getUrl(), setConfig(), and setUrl().
const AUTH_BASIC = 'basic' |
#@- #@+ Constants for HTTP authentication schemes
http://tools.ietf.org/html/rfc2617
Definition at line 64 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Socket\addAuthorizationHeader(), HTTP_Request2_Adapter_Socket\addProxyAuthorizationHeader(), and HTTP_Request2_Adapter_Curl\createCurlHandle().
const AUTH_DIGEST = 'digest' |
Definition at line 65 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Socket\addAuthorizationHeader(), HTTP_Request2_Adapter_Socket\addProxyAuthorizationHeader(), HTTP_Request2_Adapter_Curl\createCurlHandle(), and HTTP_Request2_Adapter_Curl\workaroundPhpBug47204().
const METHOD_CONNECT = 'CONNECT' |
Definition at line 56 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Socket\addProxyAuthorizationHeader(), HTTP_Request2_Adapter_Socket\canKeepAlive(), HTTP_Request2_Adapter_Socket\connect(), HTTP_Request2_Adapter_Socket\establishTunnel(), HTTP_Request2_Adapter_Socket\prepareHeaders(), and HTTP_Request2_Adapter_Socket\readResponse().
const METHOD_DELETE = 'DELETE' |
Definition at line 54 of file Request2.php.
const METHOD_GET = 'GET' |
Definition at line 50 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Curl\createCurlHandle(), and HTTP_Request2_Adapter_Socket\handleRedirect().
const METHOD_HEAD = 'HEAD' |
Definition at line 51 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Socket\canKeepAlive(), HTTP_Request2_Adapter_Curl\createCurlHandle(), and HTTP_Request2_Adapter_Socket\readResponse().
const 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 METHOD_POST = 'POST' |
Definition at line 52 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Curl\createCurlHandle().
const METHOD_PUT = 'PUT' |
Definition at line 53 of file Request2.php.
Referenced by HTTP_Request2_Adapter_Curl\createCurlHandle().
const METHOD_TRACE = 'TRACE' |
Definition at line 55 of file Request2.php.
const 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.
Referenced by HTTP_Request2_CookieJar\checkAndUpdateFields().
const 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.