diff --git a/environments/python3/Dockerfile b/environments/python3/Dockerfile new file mode 100644 index 00000000..3f6c9fc8 --- /dev/null +++ b/environments/python3/Dockerfile @@ -0,0 +1,3 @@ +FROM python:3-onbuild +CMD [ "python", "./server.py" ] +EXPOSE 8888 diff --git a/environments/python3/requirements.txt b/environments/python3/requirements.txt new file mode 100644 index 00000000..e69de29b diff --git a/environments/python3/server.py b/environments/python3/server.py new file mode 100644 index 00000000..6f42b0ef --- /dev/null +++ b/environments/python3/server.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python + +import imp +from http.server import BaseHTTPRequestHandler, HTTPServer + +# +# Load the file. +# +codepath = '/userfunc/user' +userfunc = None + +class testHTTPServer_RequestHandler(BaseHTTPRequestHandler): + def do_POST(self): + global userfunc + userfunc = (imp.load_source('user', codepath)).main + self.send_response(200) + self.end_headers() + self.wfile.write(bytes("ok\n", "utf8")) + return + + # GET + def do_GET(self): + global userfunc + try: + print("GET request") + message = userfunc(None) + self.send_response(200) + self.end_headers() + self.wfile.write(bytes(message, "utf8")) + return + except: + self.send_response(500) + self.end_headers() + +def run(): + print('starting server...') + server_address = ('0.0.0.0', 8888) + httpd = HTTPServer(server_address, testHTTPServer_RequestHandler) + httpd.serve_forever() + + +run() diff --git a/examples/python/hello.py b/examples/python/hello.py new file mode 100644 index 00000000..31fe7bde --- /dev/null +++ b/examples/python/hello.py @@ -0,0 +1,2 @@ +def main(context): + return "Hello, world!"