Skip to content

Commit ad91955

Browse files
author
刘一辰
committed
更新:
1. json、query-json、kcs、query、json2协议对requestUri参数的支持,通过各服务的方法内requestUri参数,支持在url自定义path。 2. 对rest-json、rest-xml协议headers内X-Version、X-Action的支持。
1 parent aa260ef commit ad91955

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

kscore/serialize.py

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,6 +194,10 @@ def serialize_to_request(self, parameters, operation_model):
194194
'X-Version': operation_model.metadata['apiVersion'],
195195
}
196196
)
197+
198+
if 'requestUri' in operation_model.http:
199+
serialized['url_path'] = operation_model.http['requestUri']
200+
197201
body_params = self.MAP_TYPE()
198202

199203
if shape is not None:
@@ -363,6 +367,9 @@ def serialize_to_request(self, parameters, operation_model):
363367
'X-Version': operation_model.metadata['apiVersion'],
364368
}
365369
)
370+
if 'requestUri' in operation_model.http:
371+
serialized['url_path'] = operation_model.http['requestUri']
372+
366373
body_params = self.MAP_TYPE()
367374
custom_body = None
368375
if 'Body' in parameters:
@@ -377,7 +384,6 @@ def _serialize_data(self, serialized, data, body=None):
377384
if body is not None:
378385
serialized['body'] = json.dumps(body).encode(self.DEFAULT_ENCODING)
379386
serialized['query_string'] = data
380-
print serialized
381387
return serialized
382388

383389

@@ -395,6 +401,9 @@ def serialize_to_request(self, parameters, operation_model):
395401
serialized['method'] = operation_model.http.get('method',
396402
self.DEFAULT_METHOD)
397403

404+
if 'requestUri' in operation_model.http:
405+
serialized['url_path'] = operation_model.http['requestUri']
406+
398407
serialized['query_string'] = self.MAP_TYPE()
399408

400409
serialized['headers'] = {
@@ -497,6 +506,10 @@ class BaseRestSerializer(Serializer):
497506

498507
def serialize_to_request(self, parameters, operation_model):
499508
serialized = self._create_default_request()
509+
serialized['headers'] = {
510+
'X-Action': operation_model.name,
511+
'X-Version': operation_model.metadata['apiVersion']
512+
}
500513
serialized['method'] = operation_model.http.get('method',
501514
self.DEFAULT_METHOD)
502515
shape = operation_model.input_shape

0 commit comments

Comments
 (0)