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

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

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