From 587de17e54e7cda018a87a8133c03c0b2828b9f2 Mon Sep 17 00:00:00 2001 From: Pavel Sorokin Date: Tue, 27 Jun 2017 15:22:13 +0800 Subject: [PATCH] Work branch will have all the testing files --- .gitignore | 1 + Vagrantfile | 29 +++++++++++++++++++++++++++++ reflect.py | 44 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 Vagrantfile create mode 100644 reflect.py diff --git a/.gitignore b/.gitignore index c51af8d0..7ded8226 100644 --- a/.gitignore +++ b/.gitignore @@ -9,6 +9,7 @@ oauth2_proxy # Folders _obj _test +.vagrant # Architecture specific extensions/prefixes *.[568vq] diff --git a/Vagrantfile b/Vagrantfile new file mode 100644 index 00000000..76caec7d --- /dev/null +++ b/Vagrantfile @@ -0,0 +1,29 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure("2") do |config| + + config.vm.box = "minimal/xenial64" + + config.vm.network "forwarded_port", guest: 8081, host: 8081 + config.vm.network "forwarded_port", guest: 8080, host: 8080 + + config.vm.synced_folder "../../../", "/home/vagrant/go/src/" + + config.vm.provider "virtualbox" do |vb| + vb.memory = "1024" + vb.customize ["modifyvm", :id, "--cableconnected1", "on"] + end + + config.vm.provision "shell", inline: <<-SHELL + apt-get update + apt-get install software-properties-common + add-apt-repository ppa:ubuntu-lxc/lxd-stable + apt-get update + apt-get install -y python golang + SHELL + + config.vm.provision "shell", inline: <<-SHELL + echo 'export GOPATH=$HOME/go' > /etc/profile.d/gopath.sh + SHELL +end diff --git a/reflect.py b/reflect.py new file mode 100644 index 00000000..434f1c68 --- /dev/null +++ b/reflect.py @@ -0,0 +1,44 @@ +from BaseHTTPServer import BaseHTTPRequestHandler +import urlparse, json + +class GetHandler(BaseHTTPRequestHandler): + + def do_GET(self): + parsed_path = urlparse.urlparse(self.path) + message = '\n'.join([ + 'client_address=%s (%s)' % (self.client_address, + self.address_string()), + 'command=%s' % self.command, + 'path=%s' % self.path, + 'real path=%s' % parsed_path.path, + 'query=%s' % parsed_path.query, + 'request_version=%s' % self.request_version, + 'headers=%s' % self.headers, + '', + 'server_version=%s' % self.server_version, + 'sys_version=%s' % self.sys_version, + 'protocol_version=%s' % self.protocol_version, + '', + ]) + self.send_response(200) + self.end_headers() + self.wfile.write(message) + return + + def do_POST(self): + content_len = int(self.headers.getheader('content-length')) + post_body = self.rfile.read(content_len) + self.send_response(200) + self.end_headers() + + data = json.loads(post_body) + + self.wfile.write(data['foo']) + return + +if __name__ == '__main__': + from BaseHTTPServer import HTTPServer + port = 8081 + server = HTTPServer(('localhost', port), GetHandler) + print 'Starting server at http://localhost:{}'.format(port) + server.serve_forever()