mirror of https://git.48k.eu/ogclient
Merge ogRest and ogProcess to have only one class
parent
77906be87f
commit
dfc97ffedb
|
@ -6,7 +6,7 @@ import email
|
||||||
from io import StringIO
|
from io import StringIO
|
||||||
|
|
||||||
from src.HTTPParser import *
|
from src.HTTPParser import *
|
||||||
from src.ogProcess import *
|
from src.ogRest import *
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
class State(Enum):
|
class State(Enum):
|
||||||
|
@ -74,7 +74,7 @@ class ogClient:
|
||||||
|
|
||||||
self.data = self.data + data
|
self.data = self.data + data
|
||||||
httpparser = HTTPParser()
|
httpparser = HTTPParser()
|
||||||
ogprocess = ogProcess()
|
ogrest = ogRest()
|
||||||
|
|
||||||
if not self.trailer:
|
if not self.trailer:
|
||||||
if self.data.find("\r\n") > 0:
|
if self.data.find("\r\n") > 0:
|
||||||
|
@ -89,7 +89,7 @@ class ogClient:
|
||||||
|
|
||||||
if self.trailer and len(self.data) >= self.content_len:
|
if self.trailer and len(self.data) >= self.content_len:
|
||||||
httpparser.parser(self.data)
|
httpparser.parser(self.data)
|
||||||
ogprocess.processOperation(httpparser.getRequestOP(), httpparser.getURI(), self)
|
ogrest.processOperation(httpparser.getRequestOP(), httpparser.getURI(), self)
|
||||||
|
|
||||||
# Cleanup state information from request
|
# Cleanup state information from request
|
||||||
self.data = ""
|
self.data = ""
|
||||||
|
|
|
@ -1,42 +0,0 @@
|
||||||
import threading
|
|
||||||
import platform
|
|
||||||
import time
|
|
||||||
from src import ogRest
|
|
||||||
|
|
||||||
if platform.system() == 'Linux':
|
|
||||||
from src.linux import ogOperations
|
|
||||||
|
|
||||||
class ogProcess():
|
|
||||||
def processOperation(self, op, URI, client):
|
|
||||||
if ("poweroff" in URI):
|
|
||||||
self.process_poweroff(client)
|
|
||||||
elif ("reboot" in URI):
|
|
||||||
self.process_reboot(client)
|
|
||||||
elif ("probe" in URI):
|
|
||||||
self.process_probe(client)
|
|
||||||
else:
|
|
||||||
client.send(ogRest.getResponse(ogRest.ogResponses.BAD_REQUEST))
|
|
||||||
|
|
||||||
return 0
|
|
||||||
|
|
||||||
def process_reboot(self, client):
|
|
||||||
# Rebooting thread
|
|
||||||
def rebt():
|
|
||||||
ogOperations.reboot()
|
|
||||||
|
|
||||||
client.send(ogRest.getResponse(ogRest.ogResponses.IN_PROGRESS))
|
|
||||||
client.disconnect()
|
|
||||||
threading.Thread(target=rebt).start()
|
|
||||||
|
|
||||||
def process_poweroff(self, client):
|
|
||||||
# Powering off thread
|
|
||||||
def pwoff():
|
|
||||||
time.sleep(2)
|
|
||||||
ogOperations.poweroff()
|
|
||||||
|
|
||||||
client.send(ogRest.getResponse(ogRest.ogResponses.IN_PROGRESS))
|
|
||||||
client.disconnect()
|
|
||||||
threading.Thread(target=pwoff).start()
|
|
||||||
|
|
||||||
def process_probe(self, client):
|
|
||||||
client.send(ogRest.getResponse(ogRest.ogResponses.OK))
|
|
|
@ -1,14 +1,55 @@
|
||||||
|
import threading
|
||||||
|
import platform
|
||||||
|
import time
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
|
if platform.system() == 'Linux':
|
||||||
|
from src.linux import ogOperations
|
||||||
|
|
||||||
class ogResponses(Enum):
|
class ogResponses(Enum):
|
||||||
BAD_REQUEST=0
|
BAD_REQUEST=0
|
||||||
IN_PROGRESS=1
|
IN_PROGRESS=1
|
||||||
OK=2
|
OK=2
|
||||||
|
|
||||||
def getResponse(response):
|
class ogRest():
|
||||||
|
def getResponse(self, response):
|
||||||
if response == ogResponses.BAD_REQUEST:
|
if response == ogResponses.BAD_REQUEST:
|
||||||
return 'HTTP/1.0 400 Bad request\r\n\r\n'
|
return 'HTTP/1.0 400 Bad request\r\n\r\n'
|
||||||
if response == ogResponses.IN_PROGRESS:
|
if response == ogResponses.IN_PROGRESS:
|
||||||
return 'HTTP/1.0 202 Accepted\r\n\r\n'
|
return 'HTTP/1.0 202 Accepted\r\n\r\n'
|
||||||
if response == ogResponses.OK:
|
if response == ogResponses.OK:
|
||||||
return 'HTTP/1.0 200 OK\r\n\r\n'
|
return 'HTTP/1.0 200 OK\r\n\r\n'
|
||||||
|
|
||||||
|
def processOperation(self, op, URI, client):
|
||||||
|
if ("poweroff" in URI):
|
||||||
|
self.process_poweroff(client)
|
||||||
|
elif ("reboot" in URI):
|
||||||
|
self.process_reboot(client)
|
||||||
|
elif ("probe" in URI):
|
||||||
|
self.process_probe(client)
|
||||||
|
else:
|
||||||
|
client.send(self.getResponse(ogResponses.BAD_REQUEST))
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
def process_reboot(self, client):
|
||||||
|
# Rebooting thread
|
||||||
|
def rebt():
|
||||||
|
ogOperations.reboot()
|
||||||
|
|
||||||
|
client.send(self.getResponse(ogResponses.IN_PROGRESS))
|
||||||
|
client.disconnect()
|
||||||
|
threading.Thread(target=rebt).start()
|
||||||
|
|
||||||
|
def process_poweroff(self, client):
|
||||||
|
# Powering off thread
|
||||||
|
def pwoff():
|
||||||
|
time.sleep(2)
|
||||||
|
ogOperations.poweroff()
|
||||||
|
|
||||||
|
client.send(self.getResponse(ogResponses.IN_PROGRESS))
|
||||||
|
client.disconnect()
|
||||||
|
threading.Thread(target=pwoff).start()
|
||||||
|
|
||||||
|
def process_probe(self, client):
|
||||||
|
client.send(self.getResponse(ogResponses.OK))
|
||||||
|
|
Loading…
Reference in New Issue