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 metodu (
TYPE:
|
base_url
|
Endpoint-lərin baza (kök) url-i. Endpoint-lər fərqli hostlar üzərində qurulduqda lazım olur.
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=dict, dry=False)
¶
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:
|
dry
|
Simulasiya bool-u: True olarsa, sorğu göndərilmir, göndərilən data qaytarılır
TYPE:
|
headers
cached
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, headers=None, **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, headers=None, **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.DryResponse
¶
Bases: TypedDict
Dry-run sorğularının return tipi
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.
Extras¶
integrify.utils.UNSET = UnsetType()
module-attribute
¶
integrify.utils.Unset = Union[T, Literal[UNSET]]
module-attribute
¶
Optional argument tipi
integrify.utils.UnsetOrNone = Union[T, Literal[UNSET], None]
module-attribute
¶
None dəyəri ala bilən optional argument tipi
integrify.utils.UnsetField = Annotated[Unset[T], Field(default=UNSET, exclude_if=(lambda x: x is UNSET))]
module-attribute
¶
Pydantic üçün set olunmamış argument dəyəri
integrify.utils.UnsetOrNoneField = Annotated[UnsetOrNone[T], Field(default=UNSET, exclude_if=(lambda x: x is UNSET))]
module-attribute
¶
Pydantic üçün set olunmamış və None dəyəri ala bilən argument dəyəri