Daxili kod strukturunun API Reference-i¶
API¶
integrify.api.APIClient(name, base_url=None, default_handler=None, sync=True, dry=False)
¶
API inteqrasiyaları üçün klient
PARAMETER | DESCRIPTION |
---|---|
name
|
Klient adı. Logging üçün istifadə olunur.
TYPE:
|
base_url
|
API-lərin əsas (kök) url-i. Əgər bir neçə base_url varsa, bu field-i
boş saxlayıb, hər endpoint-ə uyğun base_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, base_url=None)
¶
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, dry=False)
¶
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:
|
dry
|
Sorğu göndərmək əvəzinə göndəriləcək datanı qaytarmaq üçün istifadə olunur. Debug üçün nəzərdə tutulub.
TYPE:
|
request_function
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[_ResponseT]
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
(_ResponseT
)
Validators:
ok
pydantic-field
¶
Cavab sorğusunun statusu 400dən kiçikdirsə
status_code
pydantic-field
¶
Cavab sorğusunun status kodu
headers
pydantic-field
¶
Cavab sorğusunun header-i
body
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
Fields:
-
URL_PARAM_FIELDS
(set[str]
)
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.