From 1ea576a3758f3344a8abebdbc2f5a858b6483272 Mon Sep 17 00:00:00 2001 From: serkus01 <7erkus@gmail.com> Date: Sun, 2 Jan 2022 07:09:32 +0900 Subject: [PATCH] add handler do_HEAD und fix smalls --- core/__pycache__/route.cpython-39.pyc | Bin 2401 -> 2178 bytes core/handler.py | 58 +++++++++++++++++++++++++- core/jwt.py | 2 +- core/route.py | 24 +++++++---- server.py | 7 ++-- 5 files changed, 79 insertions(+), 12 deletions(-) diff --git a/core/__pycache__/route.cpython-39.pyc b/core/__pycache__/route.cpython-39.pyc index de1ea830d10b1373256680048eacf76e1b27e84b..7877172f8d3e6c7fc7c6d4abc4836dc925bae6a1 100644 GIT binary patch delta 780 zcmZ8fJ#Q015WT&-wb#LplMue_U_$~ymx2$)BnlOg5FjCe6hpx^rz76r19NB1t`S8f zB=`y2f&`^IC=d-j4M^16QB&|2m^tG_xjXIC%+Ac4H@o|L;mv$4uGMB7{C>p0V*R;x zkFizrn6;}P{ErTEdQR5~JoAYyx;!+gyJX(GEmk+*-0M|AWvqn%Y{_tM?e#MH+SzyC zGUn_%&zN>!I&e~ZUG#{qo70Wi{eW9Oge2A0AI7?GIbDu(TO@&JAnr^qzm~A zsk5H-MlgUnZcJc~tP=>wajA(AVcvNg>kHGI@q_?Q<3?ES$7ydMp+I51r&2cz_qQ$_ z)WMl4!(l6wnJInNJn?T_J4g)N&{uMxLq8tret|g@QIx1{44gAR{aYJ(6-Va4oy;{u zMLSZB2D(sc1&Vr@J(uZ-TaBah+sZHoB_lkUHS?G2%_<3}WIMY%NMx#` zxYq-z)R^Txi+%EgUcX|R<)-;ky4#}bgNp=58^I~u>tNdVN0-nFgmp6oi)h-Ce3dAz zV1=rvzxA`BOrcGF1>yg=mhBZtt$;}BSSPz%W>Y+n^Hf1M3JroLLRgP>=v~0{C}D|0 p=LuE`NEcitI24>)`SU1afR-Yqf{A0IZ2pMbbH!YQ z>F2^@glhabnm9VpeQi`h$~y&^-epFYnatQz+p}Zy1eCtArP#R*p|pyPBxX2fPK4uq z7T9X5vf5~1N}V;>AW7t`Mp5$G*(Bk97z;E5it%2>QAhFwvmo)Q&>lV5{#Vrztz*x} zgto5iIyL+<#gt*+*$G)NdsYa0+r+KO-V`148o@r)8hR16bHZ%8QAnBKpHO*_;@EeC zEV$4aNiqL|CQ+IHKzGU|*)(LrD588eiii)ZGlyfa4oy=SdZmyeQ@3Dtterq}WP?u8 zhOG;|>9If@9{RszCCk**_KcfN=ASR6Tg8cLWwP1GQZH1CXUHezM#S) zE@d7I8%umQw~2?PL*6KXb&&-L=LKghdmcI1kbf$d jEM(;^lMh%A=l-J=*79NErx9M!q(OcK29O*UDy{qlAOQAJ diff --git a/core/handler.py b/core/handler.py index 9f60184..a4f5ce1 100755 --- a/core/handler.py +++ b/core/handler.py @@ -10,6 +10,62 @@ from utils.findfsdb import on_find from core.route import Router from io import BytesIO #repl = '\n' + +def main(): + try: + with open('./pkgs.json', 'tr') as fn: + data = fn.read() + pkg_list = json.loads(data) + print(pkg_list) + return json.dumps(pkg_list) + except Exception(e): + print(e) + return "404" + +def set_settings_app(params): + config = load_config() + #param = self.path.replace("/?st_app=", "") + list_param = param.split(',') + print(list_param) + for i in list_param: + if i.startswith('port'): + port = int(i.split('=')[1]) + elif i.startswith('Lang'): + Lang = i.split('=')[1] + + write_config(port, Lang) + print(config) + print(param) + +def search(pkg): + #param = self.path.replace("/find?pkg=", "") #request['params']['name'] + Pk_list = [] + Search_result = {} + if len(param.split('/')) == 2: + param = param.split('/')[1] + P_list = on_find(param) + print(p_list) + if len(P_list) == 0: + print("Never Found") + self.r_t = str(json.dumps({"Package_result": p_list})) + else: + for p in p_list: + print(p) + if len(param.split("/")) == 2: + Pk_list.append(search(param.split("/")[1])) + else: + Pk_list.append(search(param)) + #print(pk) + Search_result = {"Package_result": Pk_list} + #self.r_t = str(json.dumps(search_result)) + return str(json.dumps(Search_result)) + #self.r_t = json.dumps(pkg_list) +def get_settings_app(): + return str(json.dumps(load_config())) + + + + class Handler(BaseHTTPRequestHandler): def get_data(self): #length = int(self.headers['content-length']) @@ -24,7 +80,7 @@ class Handler(BaseHTTPRequestHandler): def parse_url(self): pass - + def do_GET(self): #print(Router.parse_url(self)) diff --git a/core/jwt.py b/core/jwt.py index 65dee79..0f2ad5e 100644 --- a/core/jwt.py +++ b/core/jwt.py @@ -3,7 +3,7 @@ import secrets def genaratorSecretsToken(): - return secrets.token_hex(256) + return secrets.token_hex(4096) if __name__ =='__main__': Token = genaratorSecretsToken() diff --git a/core/route.py b/core/route.py index 72cfcdb..39010cf 100644 --- a/core/route.py +++ b/core/route.py @@ -1,13 +1,14 @@ # -*- 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.r_t = "" + self.P_list = [] + self.Response = "" length = int(self.headers['content-length']) # Not work code #self.send_header['Access-Control-Allow-Origin', '*'] @@ -16,30 +17,39 @@ class Router(BaseHTTPRequestHandler): #self.send_header['Access-Control-Allow-Credentials', true] self.end_headers() + def setRoutes(self, []): + pass + def route(self, metod, url): + print(url) if self.path in route: return true else: return self.r_404() #return false def get(self, url, handler): + #do_GET() pass - def post(self, url, handler): + def post(self, url, handler): + #do_POST() + pass + + 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): - + def parse_url(request): print("request.rfile:\t" + str(request.rfile.read())) #return json.loads(str(request.rfile.read())) @@ -58,7 +68,7 @@ class Router(BaseHTTPRequestHandler): self.send_response(200) self.end_headers() with open('./views/' + self.path, 'tr') as f: - self.r_t=f.read() + self.Response=f.read() else: self.send_response(404) diff --git a/server.py b/server.py index 97431d8..6a12d68 100755 --- a/server.py +++ b/server.py @@ -1,8 +1,9 @@ # -*- coding: UTF-8 -*- #!/usr/bin/env pyton3 from http.server import HTTPServer -from core.handler import Handler as Handler -import os, sys, json, ssl +#from core.handler import Handler as Handler +import os, sys, json, ssl +from core.route import Router #PORT_NUMBER = 8000 from utils.findfsdb import create_db from utils.utils import load_config @@ -28,7 +29,7 @@ def run(): except KeyboardInterrupt: pass - server = HTTPServer(('', config['PORT']), Handler) + server = HTTPServer(('', config['PORT']), Router) # Handler) #p"rint ('Started HTTP Server on port ' , config['PORT']) server.socket = ssl.wrap_socket(server.socket,