base class for exceptions with status codes in the 300s (redirections)

This is an abstract base class for 3xx redirection. It indicates
that further action needs to be taken by the user agent in order
to fulfill the request. It does not necessarly signal an error
condition.

This is an error condition in which the client is presumed to be
in-error. This is an expected problem, and thus is not considered
a bug. A server-side traceback is not warranted. Unless specialized,
this is a ‘400 Bad Request’

This indicates that the requested resource corresponds to any one
of a set of representations, each with its own specific location,
and agent-driven negotiation information is being provided so that
the user can select a preferred representation and redirect its
request to that location.

This exception’s constructor treats two arguments specially. The first
argument, detail, should be a string. The value of this string will
be used as the message attribute of the exception object. The second
special keyword argument, result is usually an instance of
pyramid.security.Denied or pyramid.security.ACLDenied
each of which indicates a reason for the forbidden error. However,
result is also permitted to be just a plain boolean False object
or None. The result value will be used as the result
attribute of the exception object. It defaults to None.

The Forbidden View can use the attributes of a Forbidden
exception as necessary to provide extended information in an error
report shown to a user.

This exception’s constructor accepts a detail argument
(the first argument), which should be a string. The value of this
string will be available as the message attribute of this exception,
for availability to the Not Found View.

This indicates the resource identified by the request is only
capable of generating response entities which have content
characteristics not acceptable according to the accept headers
sent in the request.

The server SHOULD return a response with this status code if a
request included a Range request-header field, and none of the
range-specifier values in this field overlap the current extent
of the selected resource, and the request did not include an
If-Range request-header field.

This indicates that the server, while acting as a gateway or proxy,
did not receive a timely response from the upstream server specified
by the URI (e.g. HTTP, FTP, LDAP) or some other auxiliary server
(e.g. DNS) it needed to access in attempting to complete the request.