class HTTP (View source)

A class with HTTP-related helpers. Like Debug, this is more a bundle of methods than a class.

Traits

Provides extensions to this object to integrate it with standard config API methods.

Config options

ignoreDeprecatedCaching bool

Set to true to disable all deprecated HTTP Cache settings

MimeTypes array

Mapping of extension to mime types

Properties

Methods

public static 
config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

public
mixed
uninherited(string $name)

Gets the uninherited value for the given config option

public static 
string
filename2url(string $filename)

Turns a local system filename into a URL by comparing it to the script filename.

public static 
string
absoluteURLs(string $html)

Turn all relative URLs in the content to absolute URLs.

public static 
string
urlRewriter(string $content, callable $code)

Rewrite all the URLs in the given content, evaluating the given string as PHP code.

public static 
string
setGetVar(string $varname, string $varvalue, string|null $currentURL = null, string $separator = '&')

Will try to include a GET parameter for an existing URL, preserving existing parameters and fragments. If no URL is given, falls back to $_SERVER['REQUEST_URI']. Uses parse_url() to dissect the URL, and http_build_query() to reconstruct it with the additional parameter.

public static 
string
RAW_setGetVar(string $varname, string $varvalue, null|string $currentURL = null)

No description

public static 
array
findByTagAndAttribute(string $content, array $attributes)

Search for all tags with a specific attribute, then return the value of that attribute in a flat array.

public static 
array
getLinksIn(string $content)

No description

public static 
array
getImagesIn(string $content)

No description

public static 
string
get_mime_type(string $filename)

Get the MIME type based on a file's extension. If the finfo class exists in PHP, and the file exists relative to the project root, then use that extension, otherwise fallback to a list of commonly known MIME types.

Details

static Config_ForClass config()

Get a configuration accessor for this class. Short hand for Config::inst()->get($this->class, .....).

Return Value

Config_ForClass

mixed uninherited(string $name)

Gets the uninherited value for the given config option

Parameters

string $name

Return Value

mixed

static string filename2url(string $filename)

Turns a local system filename into a URL by comparing it to the script filename.

Parameters

string $filename

Return Value

string

static string absoluteURLs(string $html)

Turn all relative URLs in the content to absolute URLs.

Parameters

string $html

Return Value

string

static string urlRewriter(string $content, callable $code)

Rewrite all the URLs in the given content, evaluating the given string as PHP code.

Put $URL where you want the URL to appear, however, you can't embed $URL in strings, for example:

  • ```'"../../" . $URL'```
  • ```'myRewriter($URL)'```
  • ```'(substr($URL, 0, 1)=="/") ? "../" . substr($URL, 1) : $URL'```

As of 3.2 $code should be a callable which takes a single parameter and returns the rewritten, for example:

function(string $url) {
     return Director::absoluteURL((string) $url, true);
}

Parameters

string $content

The HTML to search for links to rewrite.

callable $code

Either a string that can evaluate to an expression to rewrite links (depreciated), or a callable that takes a single parameter and returns the rewritten URL.

Return Value

string

The content with all links rewritten as per the logic specified in $code.

static string setGetVar(string $varname, string $varvalue, string|null $currentURL = null, string $separator = '&')

Will try to include a GET parameter for an existing URL, preserving existing parameters and fragments. If no URL is given, falls back to $_SERVER['REQUEST_URI']. Uses parse_url() to dissect the URL, and http_build_query() to reconstruct it with the additional parameter.

Converts any '&' (ampersand) URL parameter separators to the more XHTML compliant '&'.

CAUTION: If the URL is determined to be relative, it is prepended with Director::absoluteBaseURL(). This method will always return an absolute URL because Director::makeRelative() can lead to inconsistent results.

Parameters

string $varname
string $varvalue
string|null $currentURL

Relative or absolute URL, or HTTPRequest to get url from

string $separator

Separator for http_build_query().

Return Value

string

static string RAW_setGetVar(string $varname, string $varvalue, null|string $currentURL = null)

No description

Parameters

string $varname
string $varvalue
null|string $currentURL

Return Value

string

static array findByTagAndAttribute(string $content, array $attributes)

Search for all tags with a specific attribute, then return the value of that attribute in a flat array.

Parameters

string $content
array $attributes

An array of tags to attributes, for example "[a] => 'href', [div] => 'id'"

Return Value

array

static array getLinksIn(string $content)

No description

Parameters

string $content

Return Value

array

static array getImagesIn(string $content)

No description

Parameters

string $content

Return Value

array

static string get_mime_type(string $filename)

Get the MIME type based on a file's extension. If the finfo class exists in PHP, and the file exists relative to the project root, then use that extension, otherwise fallback to a list of commonly known MIME types.

Parameters

string $filename

Return Value

string