diff --git a/airbyte-connector-builder-server/connector_builder/generated/models/http_request.py b/airbyte-connector-builder-server/connector_builder/generated/models/http_request.py index 65cdfdb0ece06..5f29b9d0b7c54 100644 --- a/airbyte-connector-builder-server/connector_builder/generated/models/http_request.py +++ b/airbyte-connector-builder-server/connector_builder/generated/models/http_request.py @@ -20,13 +20,13 @@ class HttpRequest(BaseModel): parameters: The parameters of this HttpRequest [Optional]. body: The body of this HttpRequest [Optional]. headers: The headers of this HttpRequest [Optional]. - http_method: The http_method of this HttpRequest [Optional]. + http_method: The http_method of this HttpRequest. """ url: str parameters: Optional[Dict[str, Any]] = None body: Optional[Dict[str, Any]] = None headers: Optional[Dict[str, Any]] = None - http_method: Optional[str] = None + http_method: str HttpRequest.update_forward_refs() diff --git a/airbyte-connector-builder-server/connector_builder/impl/default_api.py b/airbyte-connector-builder-server/connector_builder/impl/default_api.py index 0c3c9193be0a3..4516dc79791bb 100644 --- a/airbyte-connector-builder-server/connector_builder/impl/default_api.py +++ b/airbyte-connector-builder-server/connector_builder/impl/default_api.py @@ -179,7 +179,7 @@ def _create_request_from_log_message(self, log_message: AirbyteLogMessage) -> Op parameters = parse_qs(url.query) or None return HttpRequest( url=full_path, - http_method=request.get("http_method"), + http_method=request.get("http_method", ""), headers=request.get("headers"), parameters=parameters, body=request.get("body"), diff --git a/airbyte-connector-builder-server/src/main/openapi/openapi.yaml b/airbyte-connector-builder-server/src/main/openapi/openapi.yaml index 0e09acb8d131b..66d73e54c176f 100644 --- a/airbyte-connector-builder-server/src/main/openapi/openapi.yaml +++ b/airbyte-connector-builder-server/src/main/openapi/openapi.yaml @@ -153,6 +153,7 @@ components: type: object required: - url + - http_method properties: url: type: string @@ -168,7 +169,7 @@ components: description: The headers of the HTTP request, if any http_method: type: string - enum: ["GET", "POST", "PUT", "PATCH"] + enum: [ "GET", "POST", "PUT", "PATCH" ] description: The http method of the request ("GET", "POST", "PUT", or "PATCH") HttpResponse: type: object diff --git a/airbyte-connector-builder-server/unit_tests/connector_builder/impl/test_default_api.py b/airbyte-connector-builder-server/unit_tests/connector_builder/impl/test_default_api.py index 2d0c0c9c6c9a4..c92497cc0cae1 100644 --- a/airbyte-connector-builder-server/unit_tests/connector_builder/impl/test_default_api.py +++ b/airbyte-connector-builder-server/unit_tests/connector_builder/impl/test_default_api.py @@ -394,24 +394,19 @@ def test_read_stream_returns_error_if_stream_does_not_exist(): id="test_create_request_with_all_fields", ), pytest.param( - 'request:{"url": "https://nichirin.com/v1/swords?color=orange", "headers": {"field": "name"}, "body":{"key": "value"}}', + 'request:{"url": "https://nichirin.com/v1/swords?color=orange", "http_method": "GET", "headers": {"field": "name"}}', HttpRequest(url="https://nichirin.com/v1/swords", parameters={"color": ["orange"]}, headers={"field": "name"}, - body={"key": "value"}), - id="test_create_request_with_no_http_method", - ), - pytest.param( - 'request:{"url": "https://nichirin.com/v1/swords?color=orange", "headers": {"field": "name"}}', - HttpRequest(url="https://nichirin.com/v1/swords", parameters={"color": ["orange"]}, headers={"field": "name"}), + http_method="GET"), id="test_create_request_with_no_body", ), pytest.param( - 'request:{"url": "https://nichirin.com/v1/swords?color=orange", "body":{"key": "value"}}', - HttpRequest(url="https://nichirin.com/v1/swords", parameters={"color": ["orange"]}, body={"key": "value"}), + 'request:{"url": "https://nichirin.com/v1/swords?color=orange", "http_method": "PUT", "body":{"key": "value"}}', + HttpRequest(url="https://nichirin.com/v1/swords", parameters={"color": ["orange"]}, body={"key": "value"}, http_method="PUT"), id="test_create_request_with_no_headers", ), pytest.param( - 'request:{"url": "https://nichirin.com/v1/swords", "headers": {"field": "name"}, "body":{"key": "value"}}', - HttpRequest(url="https://nichirin.com/v1/swords", headers={"field": "name"}, body={"key": "value"}), + 'request:{"url": "https://nichirin.com/v1/swords", "http_method": "PUT", "headers": {"field": "name"}, "body":{"key": "value"}}', + HttpRequest(url="https://nichirin.com/v1/swords", headers={"field": "name"}, body={"key": "value"}, http_method="PUT"), id="test_create_request_with_no_parameters", ), pytest.param("request:{invalid_json: }", None, id="test_invalid_json_still_does_not_crash"),