Code Review
/
multicloud
/
framework.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Pass header property in forward
[multicloud/framework.git]
/
multivimbroker
/
multivimbroker
/
forwarder
/
views.py
diff --git
a/multivimbroker/multivimbroker/forwarder/views.py
b/multivimbroker/multivimbroker/forwarder/views.py
index
a5dd22c
..
1e57d0e
100644
(file)
--- a/
multivimbroker/multivimbroker/forwarder/views.py
+++ b/
multivimbroker/multivimbroker/forwarder/views.py
@@
-15,6
+15,7
@@
import os
import json
import os
import json
+import re
import tempfile
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
import tempfile
from poster.encode import multipart_encode
from poster.streaminghttp import register_openers
@@
-112,11
+113,11
@@
class CheckCapacity(BaseServer):
for vim in body.get("VIMs", []):
url = request.get_full_path().replace(
"check_vim_capacity", "%s/capacity_check" % vim)
for vim in body.get("VIMs", []):
url = request.get_full_path().replace(
"check_vim_capacity", "%s/capacity_check" % vim)
- resp = self.send(vim, url,
newbody
, "POST")
- if
resp.status_code
!= status.HTTP_200_OK:
+ resp = self.send(vim, url,
json.dumps(newbody)
, "POST")
+ if
int(resp.status_code)
!= status.HTTP_200_OK:
continue
try:
continue
try:
- resp_body = json.loads(resp.
body
)
+ resp_body = json.loads(resp.
content
)
except ValueError:
continue
if not resp_body.get("result", False):
except ValueError:
continue
if not resp_body.get("result", False):
@@
-130,31
+131,33
@@
class Forward(BaseServer):
def get(self, request, vimid):
def get(self, request, vimid):
- return self.send(vimid, request.get_full_path(), request.body, "GET")
+ return self.send(vimid, request.get_full_path(), request.body, "GET",
+ headers=originHeaders(request))
def post(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "POST",
def post(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "POST",
- headers=
None
)
+ headers=
originHeaders(request)
)
def patch(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "PATCH",
def patch(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "PATCH",
- headers=
None
)
+ headers=
originHeaders(request)
)
def delete(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body,
def delete(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body,
- "DELETE", headers=
None
)
+ "DELETE", headers=
originHeaders(request)
)
def head(self, request, vimid):
def head(self, request, vimid):
- return self.send(vimid, request.get_full_path(), request.body, "HEAD")
+ return self.send(vimid, request.get_full_path(), request.body, "HEAD",
+ headers=originHeaders(request))
def put(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "PUT",
def put(self, request, vimid):
return self.send(vimid, request.get_full_path(), request.body, "PUT",
- headers=
None
)
+ headers=
originHeaders(request)
)
# Multipart view
# Multipart view
@@
-177,8
+180,12
@@
class MultiPartView(BaseServer):
fileObj.file.close()
params[key] = open(f.name, 'rb')
datagen, headers = multipart_encode(params)
fileObj.file.close()
params[key] = open(f.name, 'rb')
datagen, headers = multipart_encode(params)
+ regex = re.compile('^HTTP_')
+ for key, value in request.META.iteritems():
+ if key.startswith("HTTP_"):
+ headers[regex.sub('', key).replace('_', '-')] = value
resp = self.send(vimid, request.path, datagen, "POST",
resp = self.send(vimid, request.path, datagen, "POST",
- headers=
originHeaders(request)
)
+ headers=
headers
)
finally:
for key in params:
fileRef = params[key]
finally:
for key in params:
fileRef = params[key]