Support OPTIONS http verb in python client.

This commit is contained in:
geekerzp
2015-09-15 16:40:23 +08:00
parent 48bd888483
commit bd63c1d9d9
7 changed files with 29 additions and 49 deletions

View File

@@ -9,8 +9,8 @@ from .models.order import Order
# import apis into sdk package
from .apis.user_api import UserApi
from .apis.pet_api import PetApi
from .apis.store_api import StoreApi
from .apis.pet_api import PetApi
# import ApiClient
from .api_client import ApiClient

View File

@@ -270,7 +270,7 @@ class ApiClient(object):
if klass in [int, float, str, bool]:
return self.__deserialize_primitive(data, klass)
elif klass == object:
return self.__deserialize_object()
return self.__deserialize_object(data)
elif klass == date:
return self.__deserialize_date(data)
elif klass == datetime:
@@ -338,6 +338,10 @@ class ApiClient(object):
return self.rest_client.HEAD(url,
query_params=query_params,
headers=headers)
elif method == "OPTIONS":
return self.rest_client.OPTIONS(url,
query_params=query_params,
headers=headers)
elif method == "POST":
return self.rest_client.POST(url,
query_params=query_params,
@@ -495,13 +499,13 @@ class ApiClient(object):
value = data
return value
def __deserialize_object(self):
def __deserialize_object(self, value):
"""
Deserializes empty object.
Return a original value.
:return: object.
"""
return object()
return value
def __deserialize_date(self, string):
"""

View File

@@ -2,5 +2,5 @@ from __future__ import absolute_import
# import apis into api package
from .user_api import UserApi
from .pet_api import PetApi
from .store_api import StoreApi
from .pet_api import PetApi

View File

@@ -409,7 +409,7 @@ class PetApi(object):
select_header_content_type([])
# Authentication setting
auth_settings = ['api_key', 'petstore_auth']
auth_settings = ['petstore_auth', 'api_key']
response = self.api_client.call_api(resource_path, method,
path_params,

View File

@@ -103,7 +103,7 @@ class RESTClientObject(object):
and `multipart/form-data`
"""
method = method.upper()
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH']
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT', 'PATCH', 'OPTIONS']
if post_params and body:
raise ValueError(
@@ -138,7 +138,7 @@ class RESTClientObject(object):
fields=post_params,
encode_multipart=True,
headers=headers)
# For `GET`, `HEAD`, `DELETE`
# For `GET`, `HEAD`, `DELETE`, `OPTIONS`
else:
r = self.pool_manager.request(method, url,
fields=query_params,
@@ -172,6 +172,11 @@ class RESTClientObject(object):
headers=headers,
query_params=query_params)
def OPTIONS(self, url, headers=None, query_params=None):
return self.request("OPTIONS", url,
headers=headers,
query_params=query_params)
def DELETE(self, url, headers=None, query_params=None):
return self.request("DELETE", url,
headers=headers,
@@ -226,22 +231,3 @@ class ApiException(Exception):
error_message += "HTTP response body: {0}\n".format(self.body)
return error_message