summaryrefslogtreecommitdiffstats
path: root/src/HTTPParser.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/HTTPParser.py')
-rw-r--r--src/HTTPParser.py165
1 files changed, 0 insertions, 165 deletions
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 <info@soleta.eu>
-#
-# 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