1"""
2Very partial backport of the `http.HTTPStatus` enum from Python 3.5
3
4This implements just enough of the interface for our purposes, it does not
5attempt to be a full implementation.
6"""
7
8
9class HTTPStatus(int):
10
11    phrase = None
12
13    def __new__(cls, code, phrase):
14        instance = int.__new__(cls, code)
15        instance.phrase = phrase
16        return instance
17
18
19HTTPStatus.OK = HTTPStatus(200, 'OK')
20HTTPStatus.PARTIAL_CONTENT = HTTPStatus(206, 'Partial Content')
21HTTPStatus.FOUND = HTTPStatus(302, 'Found')
22HTTPStatus.NOT_MODIFIED = HTTPStatus(304, 'Not Modified')
23HTTPStatus.METHOD_NOT_ALLOWED = HTTPStatus(405, 'Method Not Allowed')
24HTTPStatus.REQUESTED_RANGE_NOT_SATISFIABLE = HTTPStatus(416, 'Range Not Satisfiable')
25