Skip to content

Commit

Permalink
minor refactor of properties
Browse files Browse the repository at this point in the history
  • Loading branch information
dtkav committed Nov 15, 2018
1 parent d5aeaf7 commit b488405
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 22 deletions.
15 changes: 9 additions & 6 deletions connexion/operations/abstract.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,6 +99,8 @@ def __init__(self, api, method, path, operation, resolver,
self._resolution = resolver.resolve(self)
self._operation_id = self._resolution.operation_id

self._responses = self._operation.get("responses", {})

self._validator_map = dict(VALIDATOR_MAP)
self._validator_map.update(validator_map or {})

Expand All @@ -116,6 +118,13 @@ def path(self):
"""
return self._path

@property
def responses(self):
"""
Returns the responses for this operation
"""
return self._responses

@property
def validator_map(self):
"""
Expand Down Expand Up @@ -226,12 +235,6 @@ def parameters(self):
Returns the parameters for this operation
"""

@abc.abstractproperty
def responses(self):
"""
Returns the responses for this operation
"""

@abc.abstractproperty
def produces(self):
"""
Expand Down
15 changes: 3 additions & 12 deletions connexion/operations/openapi.py
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ def component_get(oas3_name):
}
}

self._request_body = operation.get('requestBody')
self._request_body = operation.get('requestBody', {})

self._parameters = operation.get('parameters', [])
if path_parameters:
Expand All @@ -112,13 +112,12 @@ def component_get(oas3_name):
# TODO figure out how to support multiple mimetypes
# NOTE we currently just combine all of the possible mimetypes,
# but we need to refactor to support mimetypes by response code
response_codes = operation.get('responses', {})
response_content_types = []
for _, defn in response_codes.items():
for _, defn in self._responses.items():
response_content_types += defn.get('content', {}).keys()
self._produces = response_content_types or ['application/json']

request_content = operation.get('requestBody', {}).get('content', {})
request_content = self._request_body.get('content', {})
self._consumes = list(request_content.keys()) or ['application/json']

logger.debug('consumes: %s' % self.consumes)
Expand Down Expand Up @@ -147,10 +146,6 @@ def request_body(self):
def parameters(self):
return self._parameters

@property
def responses(self):
return self._responses

@property
def consumes(self):
return self._consumes
Expand All @@ -159,10 +154,6 @@ def consumes(self):
def produces(self):
return self._produces

@property
def _spec_definitions(self):
return self._definitions_map

def with_definitions(self, schema):
if self.components:
schema['schema']['components'] = self.components
Expand Down
4 changes: 0 additions & 4 deletions connexion/operations/swagger2.py
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,6 @@ def from_spec(cls, spec, api, path, method, resolver, *args, **kwargs):
def parameters(self):
return self._parameters

@property
def responses(self):
return self._responses

@property
def consumes(self):
return self._consumes
Expand Down

0 comments on commit b488405

Please sign in to comment.