Request and Response objects

HTTP Message

class rivr.http.message.HTTPMessage(headers: Union[wsgiref.headers.Headers, Dict[str, str], None] = None)
Members:headers, content_type, content_length

Request

class rivr.http.request.Query(query: Union[str, Dict[str, str], None] = None)
__str__() → str
>>> query = Query({'category': 'fruits'})
>>> str(query)
'category=fruits'
__len__() → int
>>> query = Query('category=fruits&limit=10')
>>> len(query)
2
__contains__(name: str) → bool
>>> query = Query('category=fruits')
>>> 'category' in query
True
__getitem__(name: str) → Optional[str]
>>> query = Query('category=fruits')
>>> query['category']
'fruits'
class rivr.http.Request(path: str = '/', method: str = 'GET', query: Optional[Dict[str, str]] = None, headers: Optional[Dict[str, str]] = None, body: Union[bytes, IO[bytes], None] = None)

A request is an object which represents a HTTP request. You wouldn’t normally create a request yourself but instead be passed a request. Each view gets passed the clients request.

Members:method, path, query, headers, cookies, body

Response

class rivr.http.Response(content: Union[str, bytes] = '', status: Optional[int] = None, content_type: Optional[str] = 'text/html; charset=utf8')

Response is an object for describing a HTTP response. Every view is responsible for either returning a response or raising an exception.

status_code = 200

The HTTP status code for the response.

class rivr.http.ResponseNoContent(content: Union[str, bytes] = '', status: Optional[int] = None, content_type: Optional[str] = 'text/html; charset=utf8')

A response that uses the 204 status code to indicate no content.

class rivr.http.ResponseRedirect(redirect_to: str)

Acts just like a ResponseRedirect, but uses a 302 status code. It takes a URL to redirect the user to.

url

A property that returns the URL for the redirect.

class rivr.http.ResponsePermanentRedirect(redirect_to: str)

Acts just like a ResponseRedirect, but uses a 301 status code.

class rivr.http.ResponseNotFound(content: Union[str, bytes] = '', status: Optional[int] = None, content_type: Optional[str] = 'text/html; charset=utf8')

Acts just like a Response, but uses a 404 status code.

class rivr.http.ResponseNotModified(content: Union[str, bytes] = '', status: Optional[int] = None, content_type: Optional[str] = 'text/html; charset=utf8')

Acts just like a Response, but uses a 304 status code.

class rivr.http.ResponseNotAllowed(permitted_methods: List[str])

A response that uses the 405 status code and takes a list of permitted HTTP methods.