HTTP
class HTTP (View source)
A class with HTTP-related helpers.
Like Debug, this is more a bundle of methods than a class ;-)
Properties
| protected static | int | $cache_age | ||
| protected static | int | $modification_date | ||
| protected static | string | $etag | 
Methods
Turns a local system filename into a URL by comparing it to the script filename.
Turn all relative URLs in the content to absolute URLs
Rewrite all the URLs in the given content, evaluating the given string as PHP code.
Will try to include a GET parameter for an existing URL, preserving existing parameters and fragments.
Search for all tags with a specific attribute, then return the value of that attribute in a flat array.
Add the appropriate caching headers to the response, including If-Modified-Since / 304 handling.
Return an http://www.faqs.org/rfcs/rfc2822 RFC 2822 date in the GMT timezone (a timestamp is always in GMT: the number of seconds since January 1 1970 00:00:00 GMT)
Details
        
                static            string
    filename2url($filename)
        
    
    Turns a local system filename into a URL by comparing it to the script filename.
        
                static            string
    absoluteURLs(string $html)
        
    
    Turn all relative URLs in the content to absolute URLs
        
                static            string
    urlRewriter(string $content, string|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 Some example code:
- ```'"../../" . $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 URL. e.g.
function($url) {
    return Director::absoluteURL($url, true);
}        
        
        
                static            string
    setGetVar(string $varname, string $varvalue, string $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.
        
                static            
    RAW_setGetVar($varname, $varvalue, $currentURL = null)
        
    
    No description
        
                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.
        
                static            
    getLinksIn($content)
        
    
    No description
        
                static            
    getImagesIn($content)
        
    
    No description
        
                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 actually exists, then use that extension, otherwise fallback to a list of commonly known MIME types.
        
                static            
    set_cache_age(int $age)
        
    
    Set the maximum age of this page in web caches, in seconds
        
                static            
    register_modification_date($dateString)
        
    
    No description
        
                static            
    register_modification_timestamp($timestamp)
        
    
    No description
        
                static            
    register_etag($etag)
        
    
    No description
        
                static            
    add_cache_headers(SS_HTTPResponse $body = null)
        
    
    Add the appropriate caching headers to the response, including If-Modified-Since / 304 handling.
Note that setting HTTP::$cache_age will overrule any cache headers set by PHP's session_cache_limiter functionality. It is your responsibility to ensure only cacheable data is in fact cached, and HTTP::$cache_age isn't set when the HTTP body contains session-specific content.
        
                static    protected        string|false
    generateETag(SS_HTTPResponse|string $response)
        
    
    No description
        
                static            string
    gmt_date(int $timestamp)
        
    
    Return an http://www.faqs.org/rfcs/rfc2822 RFC 2822 date in the GMT timezone (a timestamp is always in GMT: the number of seconds since January 1 1970 00:00:00 GMT)
        
                static            int
    get_cache_age()
        
    
    Return static variable cache_age in second
        
                static    protected        string
    combineVary($vary)
        
    
    Combine vary strings