http-server.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #!/usr/bin/python
  2. from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
  3. import os
  4. class ExampleHTTPRequestHandler(BaseHTTPRequestHandler):
  5. def do_GET(self):
  6. session_key = os.path.basename(self.path)
  7. file = '/tmp/openvpn_sso_' + session_key
  8. print 'session file: ' + file
  9. try:
  10. f = open(file)
  11. #send code 200 response
  12. self.send_response(200)
  13. #send header first
  14. self.send_header('Content-type','text-html')
  15. self.end_headers()
  16. #send file content to client
  17. user = f.read().rstrip()
  18. print 'session user: ' + user
  19. print 'session key: ' + session_key
  20. self.wfile.write('<html><body><h1>Greetings ' + user \
  21. + '. You are authorized' \
  22. '</h1>' \
  23. '</body></html>')
  24. f.close()
  25. return
  26. except IOError:
  27. self.send_error(404, 'authentication failed')
  28. def run():
  29. #ip and port of servr
  30. #by default http server port is 80
  31. server_address = ('0.0.0.0', 8080)
  32. httpd = HTTPServer(server_address, ExampleHTTPRequestHandler)
  33. print('http server started')
  34. httpd.serve_forever()
  35. print('http server stopped')
  36. if __name__ == '__main__':
  37. run()