|
1 | 1 | from collections import namedtuple
|
2 | 2 | from six import string_types
|
3 |
| -import re |
4 |
| - |
5 | 3 | from samtranslator.model.intrinsics import ref
|
6 | 4 | from samtranslator.model.apigateway import (ApiGatewayDeployment, ApiGatewayRestApi,
|
7 | 5 | ApiGatewayStage, ApiGatewayAuthorizer,
|
@@ -107,9 +105,10 @@ def _construct_rest_api(self):
|
107 | 105 | "Specify either 'DefinitionUri' or 'DefinitionBody' property and not both")
|
108 | 106 |
|
109 | 107 | if self.open_api_version:
|
110 |
| - if re.match(SwaggerEditor.get_openapi_versions_supported_regex(), self.open_api_version) is None: |
111 |
| - raise InvalidResourceException( |
112 |
| - self.logical_id, "The OpenApiVersion value must be of the format 3.0.0") |
| 108 | + if not SwaggerEditor.safe_compare_regex_with_string(SwaggerEditor.get_openapi_versions_supported_regex(), |
| 109 | + self.open_api_version): |
| 110 | + raise InvalidResourceException(self.logical_id, |
| 111 | + "The OpenApiVersion value must be of the format \"3.0.0\"") |
113 | 112 |
|
114 | 113 | self._add_cors()
|
115 | 114 | self._add_auth()
|
@@ -412,11 +411,12 @@ def _openapi_postprocess(self, definition_body):
|
412 | 411 | if definition_body.get('swagger') is not None:
|
413 | 412 | return definition_body
|
414 | 413 |
|
415 |
| - if definition_body.get('openapi') is not None: |
416 |
| - if self.open_api_version is None: |
417 |
| - self.open_api_version = definition_body.get('openapi') |
| 414 | + if definition_body.get('openapi') is not None and self.open_api_version is None: |
| 415 | + self.open_api_version = definition_body.get('openapi') |
418 | 416 |
|
419 |
| - if self.open_api_version and re.match(SwaggerEditor.get_openapi_version_3_regex(), self.open_api_version): |
| 417 | + if self.open_api_version and \ |
| 418 | + SwaggerEditor.safe_compare_regex_with_string(SwaggerEditor.get_openapi_version_3_regex(), |
| 419 | + self.open_api_version): |
420 | 420 | if definition_body.get('securityDefinitions'):
|
421 | 421 | components = definition_body.get('components', {})
|
422 | 422 | components['securitySchemes'] = definition_body['securityDefinitions']
|
|
0 commit comments