From e39fe2fc52ce3c549965c0666da8559062c57bab Mon Sep 17 00:00:00 2001 From: Alvaro Neira Ayuso Date: Sun, 19 Jan 2020 19:22:07 +0100 Subject: (Clean-Up) Rename HTTPParser file to restRequest --- src/HTTPParser.py | 165 ----------------------------------------------------- src/ogRest.py | 2 +- src/restRequest.py | 165 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 166 insertions(+), 166 deletions(-) delete mode 100644 src/HTTPParser.py create mode 100644 src/restRequest.py diff --git a/src/HTTPParser.py b/src/HTTPParser.py deleted file mode 100644 index c9d4881..0000000 --- a/src/HTTPParser.py +++ /dev/null @@ -1,165 +0,0 @@ -# -# Copyright (C) 2020 Soleta Networks -# -# This program is free software: you can redistribute it and/or modify it under -# the terms of the GNU Affero General Public License as published by the -# Free Software Foundation, version 3. -# - -import email -from io import StringIO -import json - -class restRequest: - def __init__(self): - self.requestLine = None - self.headersAlone = None - self.headers = None - self.host = None - self.contentType = None - self.contentLen = None - self.operation = None - self.URI = None - self.run = None - self.partition = None - self.disk = None - self.cache = None - self.cache_size = None - self.partition_setup = None - self.name = None - self.repo = None - self.type = None - self.profile = None - self.id = None - self.echo = None - self.code = None - - def parser(self,data): - self.requestLine, self.headersAlone = data.split('\n', 1) - self.headers = email.message_from_file(StringIO(self.headersAlone)) - - if 'Host' in self.headers.keys(): - self.host = self.headers['Host'] - - if 'Content-Type' in self.headers.keys(): - self.contentType = self.headers['Content-Type'] - - if 'Content-Length' in self.headers.keys(): - self.contentLen = int(self.headers['Content-Length']) - - if (not self.requestLine == None or not self.requestLine == ''): - self.operation = self.requestLine.split('/', 1)[0] - self.URI = self.requestLine.split('/', 1)[1] - - if not self.contentLen == 0: - msgs = self.headersAlone.rstrip().split('\n') - body = msgs[len(msgs) - 1] - try: - json_param = json.loads(body) - except ValueError as e: - print ("Error: Json message incomplete") - return - - if "run" in body: - self.run = json_param["run"] - try: - self.echo = json_param["echo"] - except: - pass - - if "disk" in body: - self.disk = json_param["disk"] - - if "partition" in body: - if not "partition_setup" in body: - self.partition = json_param["partition"] - - if "cache" in body: - self.cache = json_param["cache"] - - if "cache_size" in body: - self.cache_size = json_param["cache_size"] - - if "partition_setup" in body: - self.partition_setup = json_param["partition_setup"] - - if "name" in body: - self.name = json_param["name"] - - if "repository" in body: - self.repo = json_param["repository"] - - if "type" in body: - self.type = json_param["type"] - - if "profile" in body: - self.profile = json_param["profile"] - - if "id" in body: - self.id = json_param["id"] - - if "code" in body: - self.code = json_param["code"] - - def getHeaderLine(self): - return self.headersAlone - - def getRequestLine(self): - return self.requestLine - - def getHeaderParsed(self): - return self.headers - - def getHost(self): - return self.host - - def getContentType(self): - return self.contentType - - def getContentLen(self): - return self.contentLen - - def getRequestOP(self): - return self.operation - - def getURI(self): - return self.URI - - def getrun(self): - return self.run - - def getDisk(self): - return self.disk - - def getPartition(self): - return self.partition - - def getCache(self): - return self.cache - - def getCacheSize(self): - return self.cache_size - - def getPartitionSetup(self): - return self.partition_setup - - def getName(self): - return self.name - - def getRepo(self): - return self.repo - - def getType(self): - return self.type - - def getProfile(self): - return self.profile - - def getId(self): - return self.id - - def getEcho(self): - return self.echo - - def getCode(self): - return self.code diff --git a/src/ogRest.py b/src/ogRest.py index e3def52..9508a35 100644 --- a/src/ogRest.py +++ b/src/ogRest.py @@ -16,7 +16,7 @@ import sys import os import signal -from src.HTTPParser import * +from src.restRequest import * if platform.system() == 'Linux': from src.linux import ogOperations diff --git a/src/restRequest.py b/src/restRequest.py new file mode 100644 index 0000000..c9d4881 --- /dev/null +++ b/src/restRequest.py @@ -0,0 +1,165 @@ +# +# Copyright (C) 2020 Soleta Networks +# +# This program is free software: you can redistribute it and/or modify it under +# the terms of the GNU Affero General Public License as published by the +# Free Software Foundation, version 3. +# + +import email +from io import StringIO +import json + +class restRequest: + def __init__(self): + self.requestLine = None + self.headersAlone = None + self.headers = None + self.host = None + self.contentType = None + self.contentLen = None + self.operation = None + self.URI = None + self.run = None + self.partition = None + self.disk = None + self.cache = None + self.cache_size = None + self.partition_setup = None + self.name = None + self.repo = None + self.type = None + self.profile = None + self.id = None + self.echo = None + self.code = None + + def parser(self,data): + self.requestLine, self.headersAlone = data.split('\n', 1) + self.headers = email.message_from_file(StringIO(self.headersAlone)) + + if 'Host' in self.headers.keys(): + self.host = self.headers['Host'] + + if 'Content-Type' in self.headers.keys(): + self.contentType = self.headers['Content-Type'] + + if 'Content-Length' in self.headers.keys(): + self.contentLen = int(self.headers['Content-Length']) + + if (not self.requestLine == None or not self.requestLine == ''): + self.operation = self.requestLine.split('/', 1)[0] + self.URI = self.requestLine.split('/', 1)[1] + + if not self.contentLen == 0: + msgs = self.headersAlone.rstrip().split('\n') + body = msgs[len(msgs) - 1] + try: + json_param = json.loads(body) + except ValueError as e: + print ("Error: Json message incomplete") + return + + if "run" in body: + self.run = json_param["run"] + try: + self.echo = json_param["echo"] + except: + pass + + if "disk" in body: + self.disk = json_param["disk"] + + if "partition" in body: + if not "partition_setup" in body: + self.partition = json_param["partition"] + + if "cache" in body: + self.cache = json_param["cache"] + + if "cache_size" in body: + self.cache_size = json_param["cache_size"] + + if "partition_setup" in body: + self.partition_setup = json_param["partition_setup"] + + if "name" in body: + self.name = json_param["name"] + + if "repository" in body: + self.repo = json_param["repository"] + + if "type" in body: + self.type = json_param["type"] + + if "profile" in body: + self.profile = json_param["profile"] + + if "id" in body: + self.id = json_param["id"] + + if "code" in body: + self.code = json_param["code"] + + def getHeaderLine(self): + return self.headersAlone + + def getRequestLine(self): + return self.requestLine + + def getHeaderParsed(self): + return self.headers + + def getHost(self): + return self.host + + def getContentType(self): + return self.contentType + + def getContentLen(self): + return self.contentLen + + def getRequestOP(self): + return self.operation + + def getURI(self): + return self.URI + + def getrun(self): + return self.run + + def getDisk(self): + return self.disk + + def getPartition(self): + return self.partition + + def getCache(self): + return self.cache + + def getCacheSize(self): + return self.cache_size + + def getPartitionSetup(self): + return self.partition_setup + + def getName(self): + return self.name + + def getRepo(self): + return self.repo + + def getType(self): + return self.type + + def getProfile(self): + return self.profile + + def getId(self): + return self.id + + def getEcho(self): + return self.echo + + def getCode(self): + return self.code -- cgit v1.2.3-18-g5258