From af9338ad9c782b1753e1e73aa46eb48b99291bc4 Mon Sep 17 00:00:00 2001 From: Jacques Wagener Date: Wed, 26 Sep 2018 16:06:36 +0200 Subject: [PATCH 1/3] Add Access-Control-Allow-Origin: * to all vyper-server requests. --- bin/vyper-serve | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) mode change 100644 => 100755 bin/vyper-serve diff --git a/bin/vyper-serve b/bin/vyper-serve old mode 100644 new mode 100755 index f81f850773..55caad597a --- a/bin/vyper-serve +++ b/bin/vyper-serve @@ -1,4 +1,4 @@ -#!/usr/bin/env python3.6 +#!/usr/bin/env python3 import argparse import sys @@ -34,10 +34,17 @@ class VyperRequestHandler(BaseHTTPRequestHandler): self.end_headers() return - def do_GET(self): + def send_cors_all(self): + self.send_header("Access-Control-Allow-Origin", "*") + + def do_OPTIONS(self): + self.send_cors_all() + self.end_headers() + def do_GET(self): if self.path == '/': self.send_response(200) + self.send_cors_all() self.end_headers() self.wfile.write(b'Vyper Compiler.\n') else: @@ -56,6 +63,7 @@ class VyperRequestHandler(BaseHTTPRequestHandler): self.send_response(status_code) self.send_header("Content-type", "application/json") + self.send_cors_all() self.end_headers() self.wfile.write(json.dumps(response).encode()) From 1f7c487765c0309b852142d4e04a5556bbe56d86 Mon Sep 17 00:00:00 2001 From: Jacques Wagener Date: Wed, 26 Sep 2018 16:11:49 +0200 Subject: [PATCH 2/3] Add version to default vyper-serve page. --- bin/vyper-serve | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/vyper-serve b/bin/vyper-serve index 55caad597a..ed6550eb6c 100755 --- a/bin/vyper-serve +++ b/bin/vyper-serve @@ -46,7 +46,7 @@ class VyperRequestHandler(BaseHTTPRequestHandler): self.send_response(200) self.send_cors_all() self.end_headers() - self.wfile.write(b'Vyper Compiler.\n') + self.wfile.write('Vyper Compiler. Version: {} \n'.format(vyper.__version__).encode()) else: self.send_404() From ea97ef09ed59a0623f0240ea061a56b108f19fc3 Mon Sep 17 00:00:00 2001 From: Jacques Wagener Date: Thu, 27 Sep 2018 13:33:08 +0200 Subject: [PATCH 3/3] Addadditiona Access-Control header. --- bin/vyper-serve | 1 + vyper/compiler.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/bin/vyper-serve b/bin/vyper-serve index ed6550eb6c..9413a67975 100755 --- a/bin/vyper-serve +++ b/bin/vyper-serve @@ -36,6 +36,7 @@ class VyperRequestHandler(BaseHTTPRequestHandler): def send_cors_all(self): self.send_header("Access-Control-Allow-Origin", "*") + self.send_header("Access-Control-Allow-Headers", "X-Requested-With, Content-type") def do_OPTIONS(self): self.send_cors_all() diff --git a/vyper/compiler.py b/vyper/compiler.py index 0d3ac7fdfd..e33eda4051 100644 --- a/vyper/compiler.py +++ b/vyper/compiler.py @@ -27,7 +27,7 @@ def gas_estimate(origcode, *args, **kwargs): # Extract the stuff inside the LLL bracket if code.value == 'seq': - if code.args[-1].value == 'return': + if len(code.args) > 0 and code.args[-1].value == 'return': code = code.args[-1].args[1].args[0] assert code.value == 'seq'