CLI specific request building logic

Base class invoked from CLI rather than the webserver (Cron jobs, handling email bounces).

The content negotiator performs "text/html" or "application/xhtml+xml" switching. It does this through the public static function ContentNegotiator::process(). By default, ContentNegotiator will comply to the Accept headers the clients sends along with the HTTP request, which is most likely "application/xhtml+xml" (see "Order of selection" below).

Controllers are the cornerstone of all site functionality in SilverStripe. The Director selects a controller to pass control to, and then calls handleRequest(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.

A set of static methods for manipulating cookies.

A default backend for the setting and getting of cookies

Director is responsible for processing URLs, and providing environment information.

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

Represents a HTTP-request, including a URL that is tokenised for parsing, and a request method (GET/POST/PUT/DELETE). This is used by RequestHandler objects to decide what to do.

Represents a response returned by a controller.

A response which contains a streamable data source.

Implements the "Null Object" pattern for a missing http request.

Handle the X-Pjax header that AJAX responses may provide, returning the fragment, or, in the case of non-AJAX form submissions, redirecting back to the submitter.

This class is the base class of any SilverStripe object that can be used to handle HTTP requests.

Handles all manipulation of the session.

Generate URLs assuming that BASE_PATH is also the webroot Standard SilverStripe 3 operation


The Cookie_Backend interface for use with Cookie::$inst.

Indicator for a class which cannot handle requests directly, but is able to generate a delegate for those requests.

Interface that is implemented by controllers that are designed to hand control over to another controller.


A HTTPResponse encapsulated in an exception, which can interrupt the processing flow and be caught by the RequestHandler and returned to the user.