Skip to content

Commit

Permalink
improved a few things. base64 encoding for incoming volumes (retrocom…
Browse files Browse the repository at this point in the history
…patible) and origin control for http req
  • Loading branch information
Fausto Milletari committed Aug 1, 2018
1 parent bf9f6e1 commit 25bd55e
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 10 deletions.
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

setup(
name='tomaat',
version="0.1.3",
version="0.1.4",
description='TOMAAT SERVER SIDE',
url='https://github.com/fmilletari/tomaat',
author='Fausto Milletari',
Expand Down
2 changes: 1 addition & 1 deletion tomaat/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
API_VERSION = 'v0.1'
TOMAAT_VERSION = 'v0.1.2'
TOMAAT_VERSION = 'v0.1.4'
2 changes: 1 addition & 1 deletion tomaat/announcer/discovery_service.py
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ def announce(request):
def discover(request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'GET')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

result = yield threads.deferToThread(discover_handler)
Expand Down
29 changes: 22 additions & 7 deletions tomaat/server/service.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,15 @@
logger = Logger()


def is_base64(s):
try:
if base64.encodestring(base64.decodestring(s)) == s:
return True
except:
pass
return False


def do_announcement(announcement_server_url, message):
json_message = json.dumps(message)

Expand Down Expand Up @@ -115,7 +124,7 @@ def __init__(self, config, app, input_interface, output_interface):
def interface(self, request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'GET')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

return json.dumps(self.input_interface)
Expand All @@ -125,7 +134,7 @@ def interface(self, request):
def predict(self, request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'POST')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

logger.info('predicting...')
Expand Down Expand Up @@ -203,8 +212,14 @@ def parse_request(self, request, savepath):
tmp_filename_mha = os.path.join(savepath, mha_file)

with open(tmp_filename_mha, 'wb') as f:
f.write(raw[0])

if is_base64(raw[0]):
f.write(base64.decodestring(raw[0]))
else:
f.write(raw[0])
print(
'Your client has passed RAW file content instead of base64 encoded string: '
'this is deprecated and will result in errors in future version of the server'
)
data[element['destination']] = [tmp_filename_mha]

elif element['type'] == 'slider':
Expand Down Expand Up @@ -401,7 +416,7 @@ def processing_thread():
def interface(self, request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'GET')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

return json.dumps(self.input_interface)
Expand All @@ -411,7 +426,7 @@ def interface(self, request):
def predict(self, request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'POST')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

logger.info('predicting...')
Expand All @@ -425,7 +440,7 @@ def predict(self, request):
def responses(self, request):
request.setHeader('Access-Control-Allow-Origin', '*')
request.setHeader('Access-Control-Allow-Methods', 'POST')
request.setHeader('Access-Control-Allow-Headers', 'x-prototype-version,x-requested-with')
request.setHeader('Access-Control-Allow-Headers', '*')
request.setHeader('Access-Control-Max-Age', 2520) # 42 hours

logger.info('getting responses...')
Expand Down

0 comments on commit 25bd55e

Please sign in to comment.