Final refactor
Normal http code handling (first stage)
This commit is contained in:
@@ -1,48 +1,102 @@
|
||||
CONTINUE = 100
|
||||
SWITCHING_PROTOCOLS = 101
|
||||
PROCESSING = 102
|
||||
EARLYHINTS = 103
|
||||
OK = 200
|
||||
CREATED = 201
|
||||
ACCEPTED = 202
|
||||
NON_AUTHORITATIVE_INFORMATION = 203
|
||||
NO_CONTENT = 204
|
||||
RESET_CONTENT = 205
|
||||
PARTIAL_CONTENT = 206
|
||||
AMBIGUOUS = 300
|
||||
MOVED_PERMANENTLY = 301
|
||||
FOUND = 302
|
||||
SEE_OTHER = 303
|
||||
NOT_MODIFIED = 304
|
||||
TEMPORARY_REDIRECT = 307
|
||||
PERMANENT_REDIRECT = 308
|
||||
BAD_REQUEST = 400
|
||||
UNAUTHORIZED = 401
|
||||
PAYMENT_REQUIRED = 402
|
||||
FORBIDDEN = 403
|
||||
NOT_FOUND = 404
|
||||
METHOD_NOT_ALLOWED = 405
|
||||
NOT_ACCEPTABLE = 406
|
||||
PROXY_AUTHENTICATION_REQUIRED = 407
|
||||
REQUEST_TIMEOUT = 408
|
||||
CONFLICT = 409
|
||||
GONE = 410
|
||||
LENGTH_REQUIRED = 411
|
||||
PRECONDITION_FAILED = 412
|
||||
PAYLOAD_TOO_LARGE = 413
|
||||
URI_TOO_LONG = 414
|
||||
UNSUPPORTED_MEDIA_TYPE = 415
|
||||
REQUESTED_RANGE_NOT_SATISFIABLE = 416
|
||||
EXPECTATION_FAILED = 417
|
||||
I_AM_A_TEAPOT = 418
|
||||
MISDIRECTED = 421
|
||||
UNPROCESSABLE_ENTITY = 422
|
||||
FAILED_DEPENDENCY = 424
|
||||
PRECONDITION_REQUIRED = 428
|
||||
TOO_MANY_REQUESTS = 429
|
||||
INTERNAL_SERVER_ERROR = 500
|
||||
NOT_IMPLEMENTED = 501
|
||||
BAD_GATEWAY = 502
|
||||
SERVICE_UNAVAILABLE = 503
|
||||
GATEWAY_TIMEOUT = 504
|
||||
HTTP_VERSION_NOT_SUPPORTED = 505
|
||||
codes = {'CONTINUE': 100,
|
||||
'SWITCHING_PROTOCOLS': 101,
|
||||
'PROCESSING': 102,
|
||||
'EARLYHINTS': 103,
|
||||
'OK': 200,
|
||||
'CREATED': 201,
|
||||
'ACCEPTED': 202,
|
||||
'NON_AUTHORITATIVE_INFORMATION': 203,
|
||||
'NO_CONTENT': 204,
|
||||
'RESET_CONTENT': 205,
|
||||
'PARTIAL_CONTENT': 206,
|
||||
'AMBIGUOUS': 300,
|
||||
'MOVED_PERMANENTLY': 301,
|
||||
'FOUND': 302,
|
||||
'SEE_OTHER': 303,
|
||||
'NOT_MODIFIED': 304,
|
||||
'TEMPORARY_REDIRECT': 307,
|
||||
'PERMANENT_REDIRECT': 308,
|
||||
'BAD_REQUEST': 400,
|
||||
'UNAUTHORIZED': 401,
|
||||
'PAYMENT_REQUIRED': 402,
|
||||
'FORBIDDEN': 403,
|
||||
'NOT_FOUND': 404,
|
||||
'METHOD_NOT_ALLOWED': 405,
|
||||
'NOT_ACCEPTABLE': 406,
|
||||
'PROXY_AUTHENTICATION_REQUIRED': 407,
|
||||
'REQUEST_TIMEOUT': 408,
|
||||
'CONFLICT': 409,
|
||||
'GONE': 410,
|
||||
'LENGTH_REQUIRED': 411,
|
||||
'PRECONDITION_FAILED': 412,
|
||||
'PAYLOAD_TOO_LARGE': 413,
|
||||
'URI_TOO_LONG': 414,
|
||||
'UNSUPPORTED_MEDIA_TYPE': 415,
|
||||
'REQUESTED_RANGE_NOT_SATISFIABLE': 416,
|
||||
'EXPECTATION_FAILED': 417,
|
||||
'I_AM_A_TEAPOT': 418,
|
||||
'MISDIRECTED': 421,
|
||||
'UNPROCESSABLE_ENTITY': 422,
|
||||
'FAILED_DEPENDENCY': 424,
|
||||
'PRECONDITION_REQUIRED': 428,
|
||||
'TOO_MANY_REQUESTS': 429,
|
||||
'INTERNAL_SERVER_ERROR': 500,
|
||||
'NOT_IMPLEMENTED': 501,
|
||||
'BAD_GATEWAY': 502,
|
||||
'SERVICE_UNAVAILABLE': 503,
|
||||
'GATEWAY_TIMEOUT': 504,
|
||||
'HTTP_VERSION_NOT_SUPPORTED': 505,
|
||||
100: 'CONTINUE',
|
||||
101: 'SWITCHING_PROTOCOLS',
|
||||
102: 'PROCESSING',
|
||||
103: 'EARLYHINTS',
|
||||
200: 'OK',
|
||||
201: 'CREATED',
|
||||
202: 'ACCEPTED',
|
||||
203: 'NON_AUTHORITATIVE_INFORMATION',
|
||||
204: 'NO_CONTENT',
|
||||
205: 'RESET_CONTENT',
|
||||
206: 'PARTIAL_CONTENT',
|
||||
300: 'AMBIGUOUS',
|
||||
301: 'MOVED_PERMANENTLY',
|
||||
302: 'FOUND',
|
||||
303: 'SEE_OTHER',
|
||||
304: 'NOT_MODIFIED',
|
||||
307: 'TEMPORARY_REDIRECT',
|
||||
308: 'PERMANENT_REDIRECT',
|
||||
400: 'Bad request, it could be invalid form data',
|
||||
401: 'You are not authorized to access this resource, please login',
|
||||
402: 'PAYMENT_REQUIRED',
|
||||
403: 'Forbidden, you do not have permission to access this resource or you need to log in',
|
||||
404: 'Not found',
|
||||
405: 'METHOD_NOT_ALLOWED',
|
||||
406: 'NOT_ACCEPTABLE',
|
||||
407: 'PROXY_AUTHENTICATION_REQUIRED',
|
||||
408: 'REQUEST_TIMEOUT',
|
||||
409: 'CONFLICT',
|
||||
410: 'GONE',
|
||||
411: 'LENGTH_REQUIRED',
|
||||
412: 'PRECONDITION_FAILED',
|
||||
413: 'PAYLOAD_TOO_LARGE',
|
||||
414: 'URI_TOO_LONG',
|
||||
415: 'UNSUPPORTED_MEDIA_TYPE',
|
||||
416: 'REQUESTED_RANGE_NOT_SATISFIABLE',
|
||||
417: 'EXPECTATION_FAILED',
|
||||
418: 'I_AM_A_TEAPOT',
|
||||
421: 'MISDIRECTED',
|
||||
422: 'UNPROCESSABLE_ENTITY',
|
||||
424: 'FAILED_DEPENDENCY',
|
||||
428: 'PRECONDITION_REQUIRED',
|
||||
429: 'Too many requests, you have been rate limited. Slow down!',
|
||||
500: 'Internal Server Error, something went wrong on server side',
|
||||
501: 'NOT_IMPLEMENTED',
|
||||
502: 'BAD_GATEWAY',
|
||||
503: 'Server is temporarily unavailable',
|
||||
504: 'GATEWAY_TIMEOUT',
|
||||
505: 'HTTP_VERSION_NOT_SUPPORTED'
|
||||
}
|
||||
|
||||
|
||||
def handle(code):
|
||||
print(codes[code])
|
||||
return [codes[code], code]
|
||||
|
||||
@@ -6,6 +6,7 @@ from modules.auth import get_auth, del_auth
|
||||
import re
|
||||
import modules.vars as horsy_vars
|
||||
import os
|
||||
from modules.http_status import handle, codes as status_codes
|
||||
|
||||
|
||||
def matches(s):
|
||||
@@ -139,10 +140,12 @@ def upload(is_gui=False, ui=None, login_ui=None, Ui_LoginWindow=None):
|
||||
r = None
|
||||
while r is None:
|
||||
try:
|
||||
r = requests.post(horsy_vars.protocol + horsy_vars.server_url + '/packages/new', json=request).text
|
||||
r = requests.post(horsy_vars.protocol + horsy_vars.server_url + '/packages/new', json=request)
|
||||
r_code = handle(r.status_code)
|
||||
r = r.text
|
||||
r = json.loads(r)
|
||||
|
||||
if r['message'] == 'Unauthorized':
|
||||
if r_code[1] in [403, 401]:
|
||||
print('[red]Invalid credentials[/red]')
|
||||
print('Deleting auth from config')
|
||||
del_auth()
|
||||
@@ -150,28 +153,16 @@ def upload(is_gui=False, ui=None, login_ui=None, Ui_LoginWindow=None):
|
||||
print(r)
|
||||
r = None
|
||||
|
||||
elif r['message'] == 'Internal server error':
|
||||
print('[red]Internal server error[/red]')
|
||||
return 'Internal server error'
|
||||
|
||||
elif r['message'] == 'Success':
|
||||
elif r_code == 200:
|
||||
print('[green]Success, your project is created. You can install it by running[/] '
|
||||
'[i]horsy i {0}[/]'.format(request['name']))
|
||||
return 'Success, your project is created. You can install it by running horsy i {0}'.format(
|
||||
request['name'])
|
||||
|
||||
elif 'already exists' in r['message']:
|
||||
print(f"[red]{r['message']}[/red]")
|
||||
return {r['message']}
|
||||
|
||||
else:
|
||||
print('[red]Unknown error, please try again[/red]')
|
||||
print('Server response:')
|
||||
print(r)
|
||||
return 'Unknown error, please try again, \n Server response: \n' + str(r)
|
||||
return r_code[0]
|
||||
except:
|
||||
with open(f'error_{time.time()}.txt', 'w') as f:
|
||||
f.write(str(r))
|
||||
f.write(str(r.text))
|
||||
print(f'[red]Something went wrong with unsupported error. You can check servers response in '
|
||||
f'{os.getcwd()}/{f.name}[/red]')
|
||||
break
|
||||
|
||||
Reference in New Issue
Block a user