Merge pull request #83 from pwplusnick/raw_fix
Fix bug in knative raw handler
diff --git a/core/actionProxy/owplatform/knative.py b/core/actionProxy/owplatform/knative.py
index fe89334..23ff832 100644
--- a/core/actionProxy/owplatform/knative.py
+++ b/core/actionProxy/owplatform/knative.py
@@ -108,7 +108,7 @@
tmpBody = msg.get('value', {})
removeInitData(tmpBody)
bodyStr = str(tmpBody)
- valueData['__ow_body'] = base64.b64encode(bodyStr)
+ valueData['__ow_body'] = base64.b64encode(bodyStr.encode())
valueData['__ow_query'] = flask.request.query_string
namespace = ''
@@ -116,7 +116,7 @@
namespace = os.getenv('__OW_NAMESPACE')
valueData['__ow_user'] = namespace
valueData['__ow_method'] = flask.request.method
- valueData['__ow_headers'] = flask.request.headers
+ valueData['__ow_headers'] = { k: v for k, v in flask.request.headers.items() }
valueData['__ow_path'] = ''
def preProcessActivationData(activationData):
@@ -239,21 +239,18 @@
message['init'] = createInitDataFromEnvironment()
dedicated_runtime = True
+ preProcessRequest(message)
if hasInitData(message) and hasActivationData(message) and not dedicated_runtime:
- preProcessRequest(message)
self.initCode(message)
removeInitData(message)
response = self.runCode(message)
response = postProcessResponse(request_headers, response)
elif hasInitData(message) and not dedicated_runtime:
- preProcessRequest(message)
response = self.initCode(message)
elif hasActivationData(message) and not dedicated_runtime:
- preProcessRequest(message)
response = self.runCode(message)
response = postProcessResponse(request_headers, response)
else:
- preProcessRequest(message)
# This is for the case when it is a dedicated runtime, but has not yet been
# initialized from the environment
if dedicated_runtime and self.proxy.initialized is False: