From bf46da7c1407eb477d76729f5fb30c3a5de427f3 Mon Sep 17 00:00:00 2001 From: James Ebentier Date: Wed, 25 Mar 2015 11:44:46 -0700 Subject: [PATCH 1/4] Python: modifying request headers in ApiClient to act like those in Java and PHP --- .../src/main/resources/python/swagger.mustache | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/python/swagger.mustache b/modules/swagger-codegen/src/main/resources/python/swagger.mustache index 1cfc60981be..13fe1465913 100644 --- a/modules/swagger-codegen/src/main/resources/python/swagger.mustache +++ b/modules/swagger-codegen/src/main/resources/python/swagger.mustache @@ -28,18 +28,25 @@ class ApiClient(object): headerValue: a header value to pass when making calls to the API """ def __init__(self, host=None, headerName=None, headerValue=None): - self.headerName = headerName - self.headerValue = headerValue + self.defaultHeaders = {} + if (headerName is not None): + self.defaultHeaders[headerName] = headerValue self.host = host self.cookie = None self.boundary = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(30)) + def setDefaultHeader(headerName, headerValue): + self.defaultHeaders[headerName] = headerValue + def callAPI(self, resourcePath, method, queryParams, postData, headerParams=None, files=None): url = self.host + resourcePath + + mergedHeaderParams = self.defaultHeaders.copy() + mergedHeaderParams.update(headerParams) headers = {} - if headerParams: + if mergedHeaderParams: for param, value in headerParams.iteritems(): headers[param] = ApiClient.sanitizeForSerialization(value) From 148b2daaa37e3fbc73e6eb50890e3159853bbac3 Mon Sep 17 00:00:00 2001 From: James Ebentier Date: Mon, 30 Mar 2015 08:42:12 -0700 Subject: [PATCH 2/4] Python Formatting: removing semicolons from the python code --- .../swagger-codegen/src/main/resources/python/api.mustache | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/python/api.mustache b/modules/swagger-codegen/src/main/resources/python/api.mustache index 32c10a00fa5..0aec5a66b89 100644 --- a/modules/swagger-codegen/src/main/resources/python/api.mustache +++ b/modules/swagger-codegen/src/main/resources/python/api.mustache @@ -62,8 +62,8 @@ class {{classname}}(object): files = {} bodyParam = None - headerParams['Accept'] = '{{#produces}}{{mediaType}}{{#hasMore}},{{/hasMore}}{{/produces}}'; - headerParams['Content-Type'] = '{{#consumes}}{{mediaType}}{{#hasMore}},{{/hasMore}}{{/consumes}}'; + headerParams['Accept'] = '{{#produces}}{{mediaType}}{{#hasMore}},{{/hasMore}}{{/produces}}' + headerParams['Content-Type'] = '{{#consumes}}{{mediaType}}{{#hasMore}},{{/hasMore}}{{/consumes}}' {{#queryParams}} if ('{{paramName}}' in params): From 761ab22f08cdca5c6bf97241d4d7b33294385e0e Mon Sep 17 00:00:00 2001 From: James Ebentier Date: Mon, 30 Mar 2015 12:28:17 -0700 Subject: [PATCH 3/4] Adding Self to setDefaultHeader method signature --- .../swagger-codegen/src/main/resources/python/swagger.mustache | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/swagger-codegen/src/main/resources/python/swagger.mustache b/modules/swagger-codegen/src/main/resources/python/swagger.mustache index 13fe1465913..228f869fc2f 100644 --- a/modules/swagger-codegen/src/main/resources/python/swagger.mustache +++ b/modules/swagger-codegen/src/main/resources/python/swagger.mustache @@ -35,7 +35,7 @@ class ApiClient(object): self.cookie = None self.boundary = ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(30)) - def setDefaultHeader(headerName, headerValue): + def setDefaultHeader(self, headerName, headerValue): self.defaultHeaders[headerName] = headerValue def callAPI(self, resourcePath, method, queryParams, postData, From ce700b9421e95b98d12b91b7917e9c080b85202c Mon Sep 17 00:00:00 2001 From: James Ebentier Date: Mon, 30 Mar 2015 12:47:56 -0700 Subject: [PATCH 4/4] Fixing one more issue with the defaultHeaders merging and removing unnecessary code --- .../src/main/resources/python/swagger.mustache | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/swagger-codegen/src/main/resources/python/swagger.mustache b/modules/swagger-codegen/src/main/resources/python/swagger.mustache index 228f869fc2f..38823bdbcf0 100644 --- a/modules/swagger-codegen/src/main/resources/python/swagger.mustache +++ b/modules/swagger-codegen/src/main/resources/python/swagger.mustache @@ -47,12 +47,9 @@ class ApiClient(object): mergedHeaderParams.update(headerParams) headers = {} if mergedHeaderParams: - for param, value in headerParams.iteritems(): + for param, value in mergedHeaderParams.iteritems(): headers[param] = ApiClient.sanitizeForSerialization(value) - if self.headerName: - headers[self.headerName] = ApiClient.sanitizeForSerialization(self.headerValue) - if self.cookie: headers['Cookie'] = ApiClient.sanitizeForSerialization(self.cookie)