-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patherror_codes.py
More file actions
executable file
·123 lines (114 loc) · 5.25 KB
/
Copy patherror_codes.py
File metadata and controls
executable file
·123 lines (114 loc) · 5.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
##############################################################################
# Removal of the "__license__" line or content from "__license__", or removal
# of "__author__" in this or any constituent # component or file constitutes a
# violation of the licensing and copyright agreement.
__author__ = "Mike Rightmire"
__copyright__ = "BioCom Software"
__license__ = "Telemend"
__license_file__= "Clause1.PERPETUAL_AND_UNLIMITED_LICENSING_TO_THE_CLIENT.py"
__version__ = "0.9.6.0"
__maintainer__ = "Mike Rightmire"
__email__ = "Mike.Rightmire@BiocomSoftware.com"
__status__ = "Development"
##############################################################################
def http_error_codes(x):
""""""
if (x is None): return "Invalid HTML return code: '" + x + "'"
x = ''.join(c for c in str(x) if c in '1234567890')
if (len(x) < 1): return "Invalid HTML return code: '" + x + "'"
try:
y = int(x)
except ValueError as e:
y = 0
if (y < 100) or (y > 599):
return "Invalid HTML return code: '" + x + "'"
elif (
(y >= 103 and y <= 199) or
(y >= 209 and y <= 225) or
(y >= 227 and y <= 299) or
(y >= 309 and y <= 399) or
(y >= 418 and y <= 420) or
(y == 430 ) or
(y >= 432 and y <= 499) or
(y == 509) or
(y >= 512 and y <= 599)
):
return 'Unassigned'
else:
return {
'100':'Continue,"[RFC7231, Section 6.2.1]"',
'101':'Switching Protocols,"[RFC7231, Section 6.2.2]"',
'102':'Processing,[RFC2518]',
# '103-199':'Unassigned',
'200':'OK,"[RFC7231, Section 6.3.1]"',
'201':'Created,"[RFC7231, Section 6.3.2]"',
'202':'Accepted,"[RFC7231, Section 6.3.3]"',
'203':'Non-Authoritative Information,"[RFC7231, Section 6.3.4]"',
'204':'No Content,"[RFC7231, Section 6.3.5]"',
'205':'Reset Content,"[RFC7231, Section 6.3.6]"',
'206':'Partial Content,"[RFC7233, Section 4.1]"',
'207':'Multi-Status,[RFC4918]',
'208':'Already Reported,[RFC5842]',
# '209-225':'Unassigned',
'226':'IM Used,[RFC3229]',
# '227-299':'Unassigned',
'300':'Multiple Choices,"[RFC7231, Section 6.4.1]"',
'301':'Moved Permanently,"[RFC7231, Section 6.4.2]"',
'302':'Found,"[RFC7231, Section 6.4.3]"',
'303':'See Other,"[RFC7231, Section 6.4.4]"',
'304':'Not Modified,"[RFC7232, Section 4.1]"',
'305':'Use Proxy,"[RFC7231, Section 6.4.5]"',
'306':'(Unused),"[RFC7231, Section 6.4.6]"',
'307':'Temporary Redirect,"[RFC7231, Section 6.4.7]"',
'308':'Permanent Redirect,[RFC7538]',
# '309-399':'Unassigned',
'400':'Bad Request,"[RFC7231, Section 6.5.1]"',
'401':'Unauthorized,"[RFC7235, Section 3.1]"',
'402':'Payment Required,"[RFC7231, Section 6.5.2]"',
'403':'Forbidden,"[RFC7231, Section 6.5.3]"',
'404':'Not Found,"[RFC7231, Section 6.5.4]"',
'405':'Method Not Allowed,"[RFC7231, Section 6.5.5]"',
'406':'Not Acceptable,"[RFC7231, Section 6.5.6]"',
'407':'Proxy Authentication Required,"[RFC7235, Section 3.2]"',
'408':'Request Timeout,"[RFC7231, Section 6.5.7]"',
'409':'Conflict,"[RFC7231, Section 6.5.8]"',
'410':'Gone,"[RFC7231, Section 6.5.9]"',
'411':'Length Required,"[RFC7231, Section 6.5.10]"',
'412':'Precondition Failed,"[RFC7232, Section 4.2]"',
'413':'Payload Too Large,"[RFC7231, Section 6.5.11]"',
'414':'URI Too Long,"[RFC7231, Section 6.5.12]"',
'415':'Unsupported Media Type,"[RFC7231, Section 6.5.13][RFC-ietf-httpbis-cice-03, Section 3]"',
'416':'Range Not Satisfiable,"[RFC7233, Section 4.4]"',
'417':'Expectation Failed,"[RFC7231, Section 6.5.14]"',
# '418-420':'Unassigned',
'421':'Misdirected Request,"[RFC7540, Section 9.1.2]"',
'422':'Unprocessable Entity,[RFC4918]',
'423':'Locked,[RFC4918]',
'424':'Failed Dependency,[RFC4918]',
'425':'Unassigned',
'426':'Upgrade Required,"[RFC7231, Section 6.5.15]"',
'427':'Unassigned',
'428':'Precondition Required,[RFC6585]',
'429':'Too Many Requests,[RFC6585]',
# '430':'Unassigned',
'431':'Request Header Fields Too Large,[RFC6585]',
# '432-499':'Unassigned',
'500':'Internal Server Error,"[RFC7231, Section 6.6.1]"',
'501':'Not Implemented,"[RFC7231, Section 6.6.2]"',
'502':'Bad Gateway,"[RFC7231, Section 6.6.3]"',
'503':'Service Unavailable,"[RFC7231, Section 6.6.4]"',
'504':'Gateway Timeout,"[RFC7231, Section 6.6.5]"',
'505':'HTTP Version Not Supported,"[RFC7231, Section 6.6.6]"',
'506':'Variant Also Negotiates,[RFC2295]',
'507':'Insufficient Storage,[RFC4918]',
'508':'Loop Detected,[RFC5842]',
# '509':'Unassigned',
'510':'Not Extended,[RFC2774]',
'511':'Network Authentication Required,[RFC6585]',
# '512-599':'Unassigned',
}.get(x, 'Unknown HTTP return code.')
if __name__ == '__main__':
print http_error_codes('baloney')
print http_error_codes(19)
print http_error_codes(199)
print http_error_codes('413')