Download the PHP package clarus-it/http-client without Composer
On this page you can find all versions of the php package clarus-it/http-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download clarus-it/http-client
More information about clarus-it/http-client
Files in clarus-it/http-client
Package http-client
Short Description Contoh HTTP client untuk keperluan mengakses API ke aplikasi-aplikasi buatan Clarus IT.
License MIT
Homepage https://clarus-it.co.id
Informations about the package http-client
clarus-it/http-client
Library HTTP client dalam bahasa pemrograman PHP untuk keperluan mengakses API ke aplikasi-aplikasi buatan Clarus IT. Library ini berlaku sebagai reference implementation dan contoh bagi yang perlu membuat implementasi untuk bahasa pemrograman lain.
Instalasi
Untuk menginstall library ini, bisa menggunakan composer:
Client Library
Penggunaan
Berikut contoh penggunaan ClarusHttpClient:
ClarusHttpClient mengimplementasikan Symfony HttpClientInterface, jadi bisa
digunakan dengan cara yang sama dengan Symfony HttpClient.
Algoritma
Algoritma operasional HTTP client ini adalah sebagai berikut.
Catatan: Bagian pengecekan apakah token kedaluarsa sebenarnya boleh saja tidak diimplementasikan. Konsekuensinya, library hanya dapat tahu token sudah kedaluarsa setelah melakukan request ke server.
Pembuatan Implementasi Dalam Bahasa Pemrograman Lain
Pada bahasa pemrograman lain seharusnya tidak sulit untuk mengimplementasikan HTTP client ini. Untuk contoh, bisa melihat pada file ClarusHttpClient.php dan mengadaptasikan ke bahasa pemrograman lain tersebut.
Untuk keperluan parsing JWT, bisa menggunakan library yang ada di bahasa
pemrograman yang digunakan. Daftar library bisa dilihat di
jwt.io. Yang diperlukan untuk kasus ini adalah
library yang dapat melakukan exp check.
Pagination
Ada endpoint yang memuat banyak data. Dalam kasus tersebut, biasanya akan menggunakan sistem pagination. Satu halaman akan memberikan beberapa data, beserta informasi halaman berikutnya. Dengan informasi tersebut, kita bisa mengambil data selanjutnya sampai tidak ada data lagi.
Halaman berikut dapat diketahui melalui header Link dengan rel=next. Library
ini memberikan PaginationIterator yang dapat digunakan oleh client untuk
melakukan iterasi terhadap endpoint dengan sistem pagination.
Penggunaan
Berikut contoh penggunaan PaginationIterator:
Algoritma
Algoritma iterator pagination adalah sebagai berikut.
Pembuatan Implementasi Dalam Bahasa Pemrograman Lain
Untuk melakukan implementasi dalam bahasa pemrograman lain, diperlukan library untuk melakukan parsing header link. Berikut adalah beberapa library yang dapat digunakan untuk beberapa bahasa pemrograman populer:
- parse-link-header (Javascript)
- javax.ws.rs.core.Link (Java)
- graviton/link-header-rel-parser (PHP)
- link-header-parser (Ruby)
- linkheader-parser (Python)
Lisensi
MIT