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