Daxili kod strukturunun API Reference-i¶
API¶
integrify.api.APIClient(name, base_url, default_handler=None, sync=True)
¶
API inteqrasiyaları üçün klient
PARAMETER | DESCRIPTION |
---|---|
name |
Klient adı. Logging üçün istifadə olunur.
TYPE:
|
base_url |
API-lərin əsas (kök) url-i
TYPE:
|
default_handler |
default API handler. Bu handler əgər hər hansı bir API-yə handler register olunmadıqda istifadə olunur.
TYPE:
|
sync |
Sync (True) və ya Async (False) klient seçimi. Default olaraq sync seçilir.
TYPE:
|
add_url(route_name, url, verb)
¶
Yeni endpoint əlavə etmə funksiyası
PARAMETER | DESCRIPTION |
---|---|
route_name |
Funksionallığın adı (məs.,
TYPE:
|
url |
Endpoint url-i
TYPE:
|
verb |
Endpoint metodunun (
TYPE:
|
set_default_handler(handler_class)
¶
Sorğulara default handler setter-i
PARAMETER | DESCRIPTION |
---|---|
handler_class |
Default handler class-ı
TYPE:
|
add_handler(route_name, handler_class)
¶
Endpoint-ə handler əlavə etmək method-u
PARAMETER | DESCRIPTION |
---|---|
route_name |
Funksionallığın adı (məs.,
TYPE:
|
handler_class |
Həmin sorğunun (və response-unun) payload handler class-ı
TYPE:
|
integrify.api.APIPayloadHandler(req_model=None, resp_model=None)
¶
Sorğu və cavab data payload-ları üçün handler class-ı
PARAMETER | DESCRIPTION |
---|---|
req_model |
Sorğunun payload model-i
TYPE:
|
resp_model |
Sorğunun cavabının payload model-i
TYPE:
|
headers
property
¶
Sorğunun header-ləri
pre_handle_payload(*args, **kwds)
¶
Sorğunun payload-ının pre-processing-i. Əgər istənilən payload-a əlavə datanı lazımdırsa (bütün sorğularda eyni olan data), bu funksiyadan istifadə edə bilərsiniz.
Misal üçün: Bax EPointClientClass
handle_payload(*args, **kwds)
¶
Verilən argumentləri self.req_model
formatında payload-a çevirən funksiya.
self.req_model
qeyd edilməyibsə, bu funksiya override olunmalıdır (!).
post_handle_payload(data)
¶
Sorğunun payload-ının post-processing-i. Əgər sorğu göndərməmişdən qabaq son datanın üzərinə əlavələr lazımdırsa, bu funksiyadan istifadə edə bilərsiniz.
Misal üçün: Bax EPointClientClass
PARAMETER | DESCRIPTION |
---|---|
data |
TYPE:
|
handle_request(*args, **kwds)
¶
Sorğu üçün payload-u hazırlayan funksiya. Üç mərhələ icra edir,
və bu mərhələlər override oluna bilər. (Misal üçün:
Bax EPointClientClass
)
- Pre-processing
- Payload hazırlama
- Post-processing
handle_response(resp)
¶
Sorğudan gələn cavab payload-ı handle edən funksiya. self.resp_model
schema-sı
verilibsə, onunla parse və validate olunur, əks halda, json/dict formatında qaytarılır.
integrify.api.APIExecutor(name, sync=True)
¶
API sorgularını icra edən class
PARAMETER | DESCRIPTION |
---|---|
name |
API klientin adı. Logging üçün istifadə olunur.
TYPE:
|
sync |
Sync (True) və ya Async (False) klient seçimi. Default olaraq sync seçilir.
TYPE:
|
request_function: Callable[[str, str, Optional[APIPayloadHandler], Any], Union[APIResponse[ResponseType], Coroutine[Any, Any, APIResponse[ResponseType]]]]
property
¶
Sync/async request atan funksiyanı seçən attribute
sync_req(url, verb, handler, *args, **kwds)
¶
Sync sorğu atan funksiya
PARAMETER | DESCRIPTION |
---|---|
url |
Sorğunun full url-i
TYPE:
|
verb |
Sorğunun metodun (
TYPE:
|
handler |
Sorğu və cavabın payload handler-i
TYPE:
|
async_req(url, verb, handler, *args, **kwds)
async
¶
Async sorğu atan funksiya
PARAMETER | DESCRIPTION |
---|---|
url |
Sorğunun full url-i
TYPE:
|
verb |
Sorğunun metodun (
TYPE:
|
handler |
Sorğu və cavabın payload handler-i
TYPE:
|
Schema¶
integrify.schemas.APIResponse
pydantic-model
¶
Bases: BaseModel
, Generic[ResponseType]
Cavab sorğu base payload tipi. Generic tip-i qeyd etmıəklə sorğu cavabını validate edə bilərsiniz.
Fields:
-
ok
(bool
) -
status_code
(int
) -
headers
(dict
) -
body
(ResponseType
)
Validators:
ok: bool
pydantic-field
¶
Cavab sorğusunun statusu 400dən kiçikdirsə
status_code: int
pydantic-field
¶
Cavab sorğusunun status kodu
headers: dict
pydantic-field
¶
Cavab sorğusunun header-i
body: ResponseType
pydantic-field
¶
Cavab sorğusunun body-si
convert_to_dict(v)
pydantic-validator
¶
Binary content-i dict-ə çevirərək, validation-a hazır vəziyyətə gətirir.
integrify.schemas.PayloadBaseModel
pydantic-model
¶
Bases: BaseModel
from_args(*args, **kwds)
classmethod
¶
Verilən *args
və **kwds
(və ya **kwargs
) parametrlərini birləşdirərək
Pydantic validasiyası edən funksiya. Positional arqumentlər üçün (*args
) Pydantic
modelindəki field-lərin ardıcıllığı və çağırılan funksiyada parametrlərinin ardıcıllığı
EYNİ OLMALIDIR, əks halda, bu method yararsızdır.