Skip to content

Commit b62986b

Browse files
authored
Merge pull request #113 from /pull/3/head
remove python < 3.7 support (based on #3)
2 parents 38f44a6 + 045b8a4 commit b62986b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+1102
-212
lines changed

.github/workflows/test.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
strategy:
1616
matrix:
17-
python-version: [2.7, 3.5, 3.6, 3.7, 3.8, pypy2, pypy3]
17+
python-version: ["3.7", "3.8", "3.9", "3.10", "pypy3"]
1818
steps:
1919
- name: Set up Python ${{ matrix.python-version }}
2020
uses: actions/setup-python@v1
@@ -40,7 +40,7 @@ jobs:
4040
- name: Set up Python 3.8
4141
uses: actions/setup-python@v1
4242
with:
43-
python-version: 3.8
43+
python-version: "3.8"
4444
- name: Checkout ${{ github.base_ref }}
4545
uses: actions/checkout@v2
4646
with:

README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ and expose its documentation properly using `Swagger`_.
3838
Compatibility
3939
=============
4040

41-
Flask-RESTX requires Python 2.7 or 3.4+.
41+
Flask-RESTX requires Python 3.5+.
4242

4343
On Flask Compatibility
4444
======================

doc/index.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ development and to support our users.
3333
Compatibility
3434
=============
3535

36-
flask-restx requires Python 2.7+ or 3.4+.
36+
Flask-RESTX requires Python 3.7+.
3737

3838

3939
Installation
4040
============
4141

42-
You can install flask-restx with pip:
42+
You can install Flask-RESTX with pip:
4343

4444
.. code-block:: console
4545

doc/parsing.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ It looks for two arguments in the :attr:`flask.Request.values` dict: an integer
3838
.. note ::
3939
4040
The default argument type is a unicode string.
41-
This will be ``str`` in python3 and ``unicode`` in python2.
41+
This will be ``str``.
4242
4343
If you specify the ``help`` value,
4444
it will be rendered as the error message when a type error is raised while parsing it.

flask_restplus/__about__.py

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
__version__ = "0.13.1.dev"
2+
__description__ = (
3+
"Fully featured framework for fast, easy and documented API development with Flask"
4+
)

flask_restplus/_http.py

+185
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
"""
2+
This file is backported from Python 3.5 http built-in module.
3+
"""
4+
5+
from enum import IntEnum
6+
7+
8+
class HTTPStatus(IntEnum):
9+
"""HTTP status codes and reason phrases
10+
11+
Status codes from the following RFCs are all observed:
12+
13+
* RFC 7231: Hypertext Transfer Protocol (HTTP/1.1), obsoletes 2616
14+
* RFC 6585: Additional HTTP Status Codes
15+
* RFC 3229: Delta encoding in HTTP
16+
* RFC 4918: HTTP Extensions for WebDAV, obsoletes 2518
17+
* RFC 5842: Binding Extensions to WebDAV
18+
* RFC 7238: Permanent Redirect
19+
* RFC 2295: Transparent Content Negotiation in HTTP
20+
* RFC 2774: An HTTP Extension Framework
21+
"""
22+
23+
def __new__(cls, value, phrase, description=""):
24+
obj = int.__new__(cls, value)
25+
obj._value_ = value
26+
27+
obj.phrase = phrase
28+
obj.description = description
29+
return obj
30+
31+
def __str__(self):
32+
return str(self.value)
33+
34+
# informational
35+
CONTINUE = 100, "Continue", "Request received, please continue"
36+
SWITCHING_PROTOCOLS = (
37+
101,
38+
"Switching Protocols",
39+
"Switching to new protocol; obey Upgrade header",
40+
)
41+
PROCESSING = 102, "Processing"
42+
43+
# success
44+
OK = 200, "OK", "Request fulfilled, document follows"
45+
CREATED = 201, "Created", "Document created, URL follows"
46+
ACCEPTED = (202, "Accepted", "Request accepted, processing continues off-line")
47+
NON_AUTHORITATIVE_INFORMATION = (
48+
203,
49+
"Non-Authoritative Information",
50+
"Request fulfilled from cache",
51+
)
52+
NO_CONTENT = 204, "No Content", "Request fulfilled, nothing follows"
53+
RESET_CONTENT = 205, "Reset Content", "Clear input form for further input"
54+
PARTIAL_CONTENT = 206, "Partial Content", "Partial content follows"
55+
MULTI_STATUS = 207, "Multi-Status"
56+
ALREADY_REPORTED = 208, "Already Reported"
57+
IM_USED = 226, "IM Used"
58+
59+
# redirection
60+
MULTIPLE_CHOICES = (
61+
300,
62+
"Multiple Choices",
63+
"Object has several resources -- see URI list",
64+
)
65+
MOVED_PERMANENTLY = (
66+
301,
67+
"Moved Permanently",
68+
"Object moved permanently -- see URI list",
69+
)
70+
FOUND = 302, "Found", "Object moved temporarily -- see URI list"
71+
SEE_OTHER = 303, "See Other", "Object moved -- see Method and URL list"
72+
NOT_MODIFIED = (304, "Not Modified", "Document has not changed since given time")
73+
USE_PROXY = (
74+
305,
75+
"Use Proxy",
76+
"You must use proxy specified in Location to access this resource",
77+
)
78+
TEMPORARY_REDIRECT = (
79+
307,
80+
"Temporary Redirect",
81+
"Object moved temporarily -- see URI list",
82+
)
83+
PERMANENT_REDIRECT = (
84+
308,
85+
"Permanent Redirect",
86+
"Object moved temporarily -- see URI list",
87+
)
88+
89+
# client error
90+
BAD_REQUEST = (400, "Bad Request", "Bad request syntax or unsupported method")
91+
UNAUTHORIZED = (401, "Unauthorized", "No permission -- see authorization schemes")
92+
PAYMENT_REQUIRED = (402, "Payment Required", "No payment -- see charging schemes")
93+
FORBIDDEN = (403, "Forbidden", "Request forbidden -- authorization will not help")
94+
NOT_FOUND = (404, "Not Found", "Nothing matches the given URI")
95+
METHOD_NOT_ALLOWED = (
96+
405,
97+
"Method Not Allowed",
98+
"Specified method is invalid for this resource",
99+
)
100+
NOT_ACCEPTABLE = (406, "Not Acceptable", "URI not available in preferred format")
101+
PROXY_AUTHENTICATION_REQUIRED = (
102+
407,
103+
"Proxy Authentication Required",
104+
"You must authenticate with this proxy before proceeding",
105+
)
106+
REQUEST_TIMEOUT = (408, "Request Timeout", "Request timed out; try again later")
107+
CONFLICT = 409, "Conflict", "Request conflict"
108+
GONE = (410, "Gone", "URI no longer exists and has been permanently removed")
109+
LENGTH_REQUIRED = (411, "Length Required", "Client must specify Content-Length")
110+
PRECONDITION_FAILED = (
111+
412,
112+
"Precondition Failed",
113+
"Precondition in headers is false",
114+
)
115+
REQUEST_ENTITY_TOO_LARGE = (413, "Request Entity Too Large", "Entity is too large")
116+
REQUEST_URI_TOO_LONG = (414, "Request-URI Too Long", "URI is too long")
117+
UNSUPPORTED_MEDIA_TYPE = (
118+
415,
119+
"Unsupported Media Type",
120+
"Entity body in unsupported format",
121+
)
122+
REQUESTED_RANGE_NOT_SATISFIABLE = (
123+
416,
124+
"Requested Range Not Satisfiable",
125+
"Cannot satisfy request range",
126+
)
127+
EXPECTATION_FAILED = (
128+
417,
129+
"Expectation Failed",
130+
"Expect condition could not be satisfied",
131+
)
132+
UNPROCESSABLE_ENTITY = 422, "Unprocessable Entity"
133+
LOCKED = 423, "Locked"
134+
FAILED_DEPENDENCY = 424, "Failed Dependency"
135+
UPGRADE_REQUIRED = 426, "Upgrade Required"
136+
PRECONDITION_REQUIRED = (
137+
428,
138+
"Precondition Required",
139+
"The origin server requires the request to be conditional",
140+
)
141+
TOO_MANY_REQUESTS = (
142+
429,
143+
"Too Many Requests",
144+
"The user has sent too many requests in "
145+
'a given amount of time ("rate limiting")',
146+
)
147+
REQUEST_HEADER_FIELDS_TOO_LARGE = (
148+
431,
149+
"Request Header Fields Too Large",
150+
"The server is unwilling to process the request because its header "
151+
"fields are too large",
152+
)
153+
154+
# server errors
155+
INTERNAL_SERVER_ERROR = (
156+
500,
157+
"Internal Server Error",
158+
"Server got itself in trouble",
159+
)
160+
NOT_IMPLEMENTED = (501, "Not Implemented", "Server does not support this operation")
161+
BAD_GATEWAY = (502, "Bad Gateway", "Invalid responses from another server/proxy")
162+
SERVICE_UNAVAILABLE = (
163+
503,
164+
"Service Unavailable",
165+
"The server cannot process the request due to a high load",
166+
)
167+
GATEWAY_TIMEOUT = (
168+
504,
169+
"Gateway Timeout",
170+
"The gateway server did not receive a timely response",
171+
)
172+
HTTP_VERSION_NOT_SUPPORTED = (
173+
505,
174+
"HTTP Version Not Supported",
175+
"Cannot fulfill request",
176+
)
177+
VARIANT_ALSO_NEGOTIATES = 506, "Variant Also Negotiates"
178+
INSUFFICIENT_STORAGE = 507, "Insufficient Storage"
179+
LOOP_DETECTED = 508, "Loop Detected"
180+
NOT_EXTENDED = 510, "Not Extended"
181+
NETWORK_AUTHENTICATION_REQUIRED = (
182+
511,
183+
"Network Authentication Required",
184+
"The client needs to authenticate to gain network access",
185+
)

0 commit comments

Comments
 (0)