|
@@ -1,3 +1,6 @@
|
|
|
+#!/usr/bin/python
|
|
|
+# -*- coding: utf-8 -*-
|
|
|
+
|
|
|
from __future__ import print_function
|
|
|
from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer
|
|
|
|
|
@@ -6,23 +9,38 @@ class BatcaveHttpRequestHandler(BaseHTTPRequestHandler):
|
|
|
url = self.path
|
|
|
|
|
|
if url == '/':
|
|
|
- self.send_response(200)
|
|
|
- self.send_header('Content-Type', 'text/html')
|
|
|
- self.wfile.write("\n")
|
|
|
-
|
|
|
- self.wfile.write('<!DOCTYPE html><html><head><title>BATCAVE</title></head>')
|
|
|
- self.wfile.write('<body>')
|
|
|
- self.wfile.write('<H1>BATCAVE</H1>')
|
|
|
- self.wfile.write('Work in progress ...')
|
|
|
- self.wfile.write('</body></html>')
|
|
|
+ self.respond_index()
|
|
|
return
|
|
|
|
|
|
- self.send_response(404, 'Not Found')
|
|
|
- self.send_header('Content-Type', 'text/plain')
|
|
|
- self.wfile.write("\n")
|
|
|
+ self.send_error(404, 'The URL \'{0}\' was not found here.'.format(url))
|
|
|
+
|
|
|
+ def respond_index(self):
|
|
|
+ self.send_response(200)
|
|
|
+ self.send_header('Content-Type', 'text/html; charset=utf-8')
|
|
|
+ self.end_headers()
|
|
|
+
|
|
|
+ self.wfile.write('<!DOCTYPE html><html><head><title>BATCAVE</title></head>\n')
|
|
|
+ self.wfile.write('<body>\n')
|
|
|
+ self.wfile.write('<H1 title="Batman/Alfred Transmission Collection, Aggregation & Value Engine">BATCAVE</H1>\n')
|
|
|
+
|
|
|
+ self.wfile.write('<p>Dies ist ein interner Hintergrund-Dienst. Er wird nur von anderen Diensten\n')
|
|
|
+ self.wfile.write('angesprochen und sollte aus einer Mehrzahl von Gründen nicht öffentlich\n')
|
|
|
+ self.wfile.write('zugänglich sein.</p>\n')
|
|
|
+
|
|
|
+ self.wfile.write('<H2>Status</H2>\n')
|
|
|
+ self.wfile.write('Daten: <span id="datacount" class="value">')
|
|
|
+ self.wfile.write(len(self.storage.data))
|
|
|
+ self.wfile.write('</span>\n')
|
|
|
+
|
|
|
+ self.wfile.write('<H2>API</H2>\n')
|
|
|
+ self.wfile.write('<p>Grundsätzlich ist das Antwort-Format JSON und alle Daten sind Live-Daten (kein Cache) die ggf. etwas Bearbeitungs-Zeit erfordern.</p>')
|
|
|
+ self.wfile.write('<dl>\n')
|
|
|
+ self.wfile.write('<dt><a href="/nodes.json">nodes.json</a></dt><dd>zur Verwendung mit ffmap (MACs anonymisiert)</dd>\n')
|
|
|
+ self.wfile.write('<dt><a href="/node/ff00ff00ff00.json">/node/<id>.json</a></dt><dd><u>alle</u> vorhandenen Information zu der gewünschten Node</dd>\n')
|
|
|
+ self.wfile.write('</dl>\n')
|
|
|
+ self.wfile.write('</body></html>')
|
|
|
+
|
|
|
|
|
|
- self.wfile.write("[ 404 NOT FOUND ]\n\n")
|
|
|
- self.wfile.write('URL: ' + url + '</b>')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
server = HTTPServer(('localhost', 8888), BatcaveHttpRequestHandler)
|