You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

104 lines
2.5 KiB

# -*- codding: utf-8 -*-
#!/usr/bin/env python3
from io import StringIO ## for Python 3
#from requests import requests as ReqServer
from http.server import BaseHTTPRequestHandler
from .jwt import genaratorSecretsToken
import json
class Router(BaseHTTPRequestHandler):
def __int__(self):
self.P_list = []
self.Response = ""
self.Routes =[]
#length = int(self.headers['content-length'])
# Not work code
#self.send_header['Access-Control-Allow-Origin', '*']
#self.send_header['Access-Control-Allow-Methods', 'GET']
#self.send_header['Access-Control-Allow-Headers', 'X-Requested-With,content-type']
#self.send_header['Access-Control-Allow-Credentials', true]
self.end_headers()
#super().__int__(self.setRoutes)
def _set_response(self):
self.send_response(200)
self.send_header['Access-Control-Allow-Origin', '*']
self.send_header['Access-Control-Allow-Methods', 'GET']
self.send_header['Access-Control-Allow-Headers', 'X-Requested-With,content-type']
#self.send_header['Access-Control-Allow-Credentials', true]
self.end_headers()
def setRoutes(self, ListRoutes =[]):
self.Routes = ListRoutes
def route(self, metod, url, handler):
print(url)
if self.path in self.Routes.url:
if metod == 'GET' or metod == 'get':
self.get(url=url,handler=handler)
#return true
elif metod == 'POST' or metod == 'post':
self.post(url=url, handler=handler)
elif metod == 'HEAD' or metod == 'head':
self.head()
else:
self.r_404()
else:
return self.r_404()
#return false
def get(self, url, handler):
#do_GET()
return url
def post(self, url, handler):
#do_POST()
return url
def head(self):
#do_HEAD()
pass
def __isAuth(selt, auth):
pass
def getToken(self, authResult):
print(self.client_address)
#if self.__isAuth() is True:
genaratorSecretsToken()
#else:
# self.r_403()
def parse_url(request):
print("request.rfile:\t" + str(request.rfile.read()))
#return json.loads(str(request.rfile.read()))
def r_403(self):
self.send_response(403)
self.end_headers()
print(self.client_address)
def r_404(self):
self.send_response(404)
self.end_headers()
print(self.client_address)
def r_static(self):
if os.path.exists('./views/' + self.path):
self.send_response(200)
self.end_headers()
with open('./views/' + self.path, 'tr') as f:
self.Response=f.read()
else:
self.send_response(404)
self.end_headers()
"""
def do_GET(self):
pass
def do_POST(self):
pass
"""