Leaf PHP

Fetch
in package

Leaf Fetch --------- Plain simple PHP http client.

Table of Contents

Constants

DELETE  = 'DELETE'
GET  = 'GET'
HEAD  = 'HEAD'
OPTIONS  = 'OPTIONS'
OVERRIDE  = '_METHOD'
PATCH  = 'PATCH'
POST  = 'POST'
PUT  = 'PUT'

Properties

$options  : mixed
Default fetch options
$handler  : mixed

Methods

baseUrl()  : mixed
buildHTTPCurlQuery()  : array<string|int, mixed>
This function is useful for serializing multidimensional arrays, and avoid getting the 'Array to string conversion' notice
delete()  : mixed
Make a delete request
get()  : mixed
Make a get request
getInfo()  : mixed
options()  : mixed
Make an options request
patch()  : mixed
Make a patch request
post()  : mixed
Make a post request
put()  : mixed
Make a put request
request()  : mixed
Base method for network requests
call()  : mixed
parseHeaders()  : array<string|int, mixed>
if PECL_HTTP is not available use a fall back function

Constants

DELETE

public mixed DELETE = 'DELETE'

GET

public mixed GET = 'GET'

HEAD

public mixed HEAD = 'HEAD'

OPTIONS

public mixed OPTIONS = 'OPTIONS'

OVERRIDE

public mixed OVERRIDE = '_METHOD'

PATCH

public mixed PATCH = 'PATCH'

POST

public mixed POST = 'POST'

PUT

public mixed PUT = 'PUT'

Properties

$options

Default fetch options

protected static mixed $options = [ // `url` is the server URL that will be used for the request "url" => null, // `method` is the request method to be used when making the request "method" => "GET", // default // `baseURL` will be prepended to `url` unless `url` is absolute. // It can be convenient to set `baseURL` for an instance of axios to pass relative URLs // to methods of that instance. "baseUrl" => "", // `transformRequest` allows changes to the request data before it is sent to the server // This is only applicable for request methods 'PUT', 'POST', 'PATCH' and 'DELETE' // The last function in the array must return a string or an instance of Buffer, ArrayBuffer, // FormData or Stream // You may modify the headers object. // "transformRequest" => function ($data, $headers) { // // Do whatever you want to transform the data // return $data; // }, // `transformResponse` allows changes to the response data to be made before // it is passed to then/catch // "transformResponse" => function ($data) { // // Do whatever you want to transform the data // return $data; // }, // `headers` are custom headers to be sent "headers" => [], // `params` are the URL parameters to be sent with the request // Must be a plain object or a URLSearchParams object "params" => [], // `paramsSerializer` is an optional function in charge of serializing `params` // (e.g. https://www.npmjs.com/package/qs, http://api.jquery.com/jquery.param/) // "paramsSerializer" => function ($params) { // return Qs.stringify($params, ["arrayFormat" => "brackets"]); // }, // `data` is the data to be sent as the request body // Only applicable for request methods 'PUT', 'POST', 'DELETE , and 'PATCH' // When no `transformRequest` is set, must be of one of the following types: // - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams // - Browser "only" => FormData, File, Blob // - Node "only" => Stream, Buffer "data" => [], // `timeout` specifies the number of milliseconds before the request times out. // If the request takes longer than `timeout`, the request will be aborted. "timeout" => 0, // default is `0` (no timeout) // `withCredentials` indicates whether or not cross-site Access-Control requests // should be made using credentials "withCredentials" => false, // default // `adapter` allows custom handling of requests which makes testing easier. // Return a promise and supply a valid response (see lib/adapters/README.md). // "adapter" => function ($config) { // /* ... */ // }, // `auth` indicates that HTTP Basic auth should be used, and supplies credentials. // This will set an `Authorization` header, overwriting any existing // `Authorization` custom headers you have set using `headers`. // Please note that only HTTP Basic auth is configurable through this parameter. // For Bearer tokens and such, use `Authorization` custom headers instead. "auth" => [], // `responseType` indicates the type of data that the server will respond with // options "are" => 'arraybuffer', 'document', 'json', 'text', 'stream' // browser "only" => 'blob' "responseType" => "json", // default // `responseEncoding` indicates encoding to use for decoding responses (Node.js only) // "Note" => Ignored for `responseType` of 'stream' or client-side requests "responseEncoding" => "utf8", // default // `xsrfCookieName` is the name of the cookie to use as a value for xsrf token "xsrfCookieName" => "XSRF-TOKEN", // default // `xsrfHeaderName` is the name of the http header that carries the xsrf token value "xsrfHeaderName" => "X-XSRF-TOKEN", // default // `onUploadProgress` allows handling of progress events for uploads // browser only // "onUploadProgress" => function ($progressEvent) { // // Do whatever you want with the native progress event // }, // `onDownloadProgress` allows handling of progress events for downloads // browser only // "onDownloadProgress" => function ($progressEvent) { // // Do whatever you want with the native progress event // }, // `maxContentLength` defines the max size of the http response content in bytes allowed in node.js "maxContentLength" => 2000, // `maxBodyLength` (Node only option) defines the max size of the http request content in bytes allowed "maxBodyLength" => 2000, // `validateStatus` defines whether to resolve or reject the promise for a given // HTTP response status code. If `validateStatus` returns `true` (or is set to `null` // or `undefined`), the promise will be resolved; otherwise, the promise will be // rejected. // "validateStatus" => function ($status) { // return $status >= 200 && $status < 300; // default // }, // `maxRedirects` defines the maximum number of redirects to follow in node.js. // If set to 0, no redirects will be followed. "maxRedirects" => 5, // default // `socketPath` defines a UNIX Socket to be used in node.js. // e.g. '/var/run/docker.sock' to send requests to the docker daemon. // Only either `socketPath` or `proxy` can be specified. // If both are specified, `socketPath` is used. "socketPath" => null, // default // `proxy` defines the hostname, port, and protocol of the proxy server. // You can also define your proxy using the conventional `http_proxy` and // `https_proxy` environment variables. If you are using environment variables // for your proxy configuration, you can also define a `no_proxy` environment // variable as a comma-separated list of domains that should not be proxied. // Use `false` to disable proxies, ignoring environment variables. // `auth` indicates that HTTP Basic auth should be used to connect to the proxy, and // supplies credentials. // This will set an `Proxy-Authorization` header, overwriting any existing // `Proxy-Authorization` custom headers you have set using `headers`. // If the proxy server uses HTTPS, then you must set the protocol to `https`. "proxy" => [], // `decompress` indicates whether or not the response body should be decompressed // automatically. If set to `true` will also remove the 'content-encoding' header // from the responses objects of all decompressed responses // - Node only (XHR cannot turn off decompression) "decompress" => true, // default // If false, fetch will try to parse json responses "rawResponse" => false, // CURLOPT_SSL_VERIFYHOST accepts only 0 (false) or 2 (true). // Future versions of libcurl will treat values 1 and 2 as equals "verifyHost" => true, // default "verifyPeer" => true, // default // Set additional options for curl. "curl" => [], ]

$handler

private static mixed $handler = null

Methods

baseUrl()

public static baseUrl(mixed $url) : mixed
Parameters
$url : mixed

buildHTTPCurlQuery()

This function is useful for serializing multidimensional arrays, and avoid getting the 'Array to string conversion' notice

public static buildHTTPCurlQuery(array<string|int, mixed> $data[, bool|string $parent = false ]) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>

array to flatten.

$parent : bool|string = false

parent key or false if no parent

Tags
author

Mashape (https://www.mashape.com)

Return values
array<string|int, mixed>

delete()

Make a delete request

public static delete(mixed $url[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$config : mixed = []
Tags
throws
Exception

get()

Make a get request

public static get(mixed $url[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$config : mixed = []
Tags
throws
Exception

getInfo()

public static getInfo([mixed $opt = false ]) : mixed
Parameters
$opt : mixed = false

options()

Make an options request

public static options(mixed $url[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$config : mixed = []
Tags
throws
Exception

patch()

Make a patch request

public static patch(mixed $url, mixed $data[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$data : mixed
$config : mixed = []
Tags
throws
Exception

post()

Make a post request

public static post(mixed $url, mixed $data[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$data : mixed
$config : mixed = []
Tags
throws
Exception

put()

Make a put request

public static put(mixed $url, mixed $data[, mixed $config = [] ]) : mixed
Parameters
$url : mixed
$data : mixed
$config : mixed = []
Tags
throws
Exception

request()

Base method for network requests

public static request(mixed $options) : mixed
Parameters
$options : mixed
Tags
throws
Exception

call()

private static call(mixed $request) : mixed
Parameters
$request : mixed
Tags
throws
Exception

parseHeaders()

if PECL_HTTP is not available use a fall back function

private static parseHeaders(string $raw_headers) : array<string|int, mixed>

thanks to ricardovermeltfoort@gmail.com http://php.net/manual/en/function.http-parse-headers.php#112986

Parameters
$raw_headers : string

raw headers

Tags
author

Mashape (https://www.mashape.com)

Return values
array<string|int, mixed>

        
On this page

Search results