1
0
mirror of synced 2026-01-20 12:07:14 -05:00
Files
airbyte/airbyte-cdk/python/airbyte_cdk/sources/declarative/decoders/json_decoder.py
Brian Lai ca80d3782a [low code connectors] perform schema validation of the input config against the declarative language schema (#15543)
* draft: first pass at complete schema language generation and factory validator

* actually a working validator and fixes to the schema that went uncaught

* remove extra spike file

* fix formatting file

* pr feedback and a little bit of refactoring

* fix some types that were erroneously marked as invalid schema

* some comments

* add jsonschemamixin to interfaces

* update changelog

* bump version
2022-08-18 15:29:26 -04:00

23 lines
607 B
Python

#
# Copyright (c) 2022 Airbyte, Inc., all rights reserved.
#
from dataclasses import InitVar, dataclass
from typing import Any, List, Mapping, Union
import requests
from airbyte_cdk.sources.declarative.decoders.decoder import Decoder
from dataclasses_jsonschema import JsonSchemaMixin
@dataclass
class JsonDecoder(Decoder, JsonSchemaMixin):
"""
Decoder strategy that returns the json-encoded content of a response, if any.
"""
options: InitVar[Mapping[str, Any]]
def decode(self, response: requests.Response) -> Union[Mapping[str, Any], List]:
return response.json() or {}