source: server/lib/server.py @ 478ca74

no-cups
Last change on this file since 478ca74 was 478ca74, checked in by Quentin Smith <quentin@…>, 13 years ago

Initial IPP server that just parses incoming requests

  • Property mode set to 100755
File size: 994 bytes
Line 
1#!/usr/bin/python
2
3import logging, BaseHTTPServer
4import ipprequest
5
6logging.basicConfig(level=logging.DEBUG)
7
8class GutenbachIPPHandler(BaseHTTPServer.BaseHTTPRequestHandler):
9    def handle_one_request(self):
10        self.raw_requestline = self.rfile.readline()
11        if not self.raw_requestline:
12            self.close_connection = 1
13            return
14        if not self.parse_request(): # An error code has been sent, just exit
15            return
16        self.handle_ipp()
17
18    def handle_ipp(self):
19        req = ipprequest.IPPRequest(request=self.rfile, length=self.headers.getheader('content-length', 0))
20
21        self.send_response(200, "o hai")
22        self.send_header("Content-Type", "text/plain")
23        self.send_header("Connection", "close")
24        self.end_headers()
25        self.wfile.write("I got ur request")
26
27if __name__ == '__main__':
28    server_address = ('', 8000)
29    httpd = BaseHTTPServer.HTTPServer(server_address, GutenbachIPPHandler)
30    httpd.serve_forever()
Note: See TracBrowser for help on using the repository browser.