+
+
+# Multipart view
+class MultiPartView(BaseServer):
+
+ parser_classes = (MultiPartParser, )
+
+ def post(self, request, vimid):
+ register_openers()
+ datagen, headers = multipart_encode(dict(request.data.iterlists()))
+ # will convert the datagen to be accepted by httplib2 body param
+ requestData = "".join(datagen)
+ # MultiPart parser store the header keys in request.META
+ # A custom header in request body(for ex: Cloud_Type)
+ # will be transformed to HTTP_CLOUD_TYPE
+ regex = re.compile('^HTTP_')
+ for key, value in request.META.iteritems():
+ if key.startswith("HTTP_"):
+ headers[regex.sub('',key).replace('_','-')] = value
+ return self.send(vimid, request.path, requestData, "POST",
+ headers=headers)