diff --git a/gitflic/_oauth_server/page.html b/gitflic/GitflicOAuthServer.py similarity index 53% rename from gitflic/_oauth_server/page.html rename to gitflic/GitflicOAuthServer.py index e2fd02c..b3c6222 100644 --- a/gitflic/_oauth_server/page.html +++ b/gitflic/GitflicOAuthServer.py @@ -1,4 +1,24 @@ - +import http.server +import json +import os +import sys +from typing import Tuple, AnyStr, NoReturn +from urllib.parse import parse_qs, urlsplit +from random import randint + +import requests + +from gitflic import __version__ + +_debug = False +server: http.server.HTTPServer +redirect_link: str +_GitflicAuth: object + + +def get_html(): + return """ +
@@ -64,3 +84,175 @@ + """ + + +class GitflicOAuthServer(http.server.BaseHTTPRequestHandler): + server_version = f"GitflicOAuthServer/{__version__}" + default_request_version = "HTTP/1.0" + + def send_html_row(self, what: AnyStr, description: AnyStr, data: str) -> NoReturn: + """ Add row at page using Bootstrap CSS """ + html = f""" + +{data}
Error!
+{reason}
+ + """ + self.send(error_html) + + def send_headers(self, code: int) -> None: + self.send_response(code) + self.send_header("Content-type", "text/html; charset=UTF-8") + self.end_headers() + + def send(self, html: str) -> NoReturn: + """ wfile.write handler """ + self.wfile.write(bytes(html, "UTF-8")) + + # noinspection PyPep8Naming + def do_GET(self) -> NoReturn: + """ GET request handler """ + is_error = False + url = urlsplit(self.path) + params = parse_qs(url.query) + code = state = None + + if url.path != "/": + # Allow only root path ;) + self.send_headers(404) + self.send(f''' +Server close automatically.
+You can close this page
+{data}
Error!
-{reason}
- - """ - self.send(error_html) - - def send_headers(self, code: int) -> None: - self.send_response(code) - self.send_header("Content-type", "text/html; charset=UTF-8") - self.end_headers() - - def send(self, html: str) -> NoReturn: - """ wfile.write handler """ - self.wfile.write(bytes(html, "UTF-8")) - - # noinspection PyPep8Naming - def do_GET(self) -> NoReturn: - """ GET request handler """ - is_error = False - url = urlsplit(self.path) - params = parse_qs(url.query) - code = state = None - - if url.path != "/": - # Allow only root path ;) - self.send_headers(404) - self.send(f''' -Server close automatically.
-You can close this page
-