# KatanaClient
KatanaClient, HTTP ve HTTPS üzerinden istek göndermek için kullanılabilecek basit ve esnek bir Node.js istemci modülüdür.
## Özellikler
- GET, POST, PUT, DELETE, HEAD, OPTIONS, PATCH, TRACE, CONNECT gibi yaygın HTTP metotlarını destekler.
- URL parametreleri ve istek başlıklarını özelleştirebilme yeteneği.
- Yönlendirme (redirect) takibi ve yönetimi.
- Zaman aşımı (timeout) işleme.
- Özelleştirilebilir HTTP(s) agent desteği.
## Kurulum
Modülü npm üzerinden kurmak için:
```bash
npm install katana-client
Kullanım
const KatanaClient = require('katana-client');
const client = new KatanaClient({
timeout: 10000,
maxRedirects: 5,
followRedirects: true,
defaultHeaders: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
}
});
client.get('https://api.example.com/data')
.then(response => {
console.log('GET Response:', response);
})
.catch(error => {
console.error('GET Error:', error.message);
});
const postData = { key: 'value' };
client.post('https://api.example.com/post', postData)
.then(response => {
console.log('POST Response:', response);
})
.catch(error => {
console.error('POST Error:', error.message);
});
API Dokümantasyonu
new KatanaClient(options)
KatanaClient
sınıfının bir örneğini oluşturur.
options
(Object): Yapılandırma seçenekleri.
timeout
(Number): İsteklerin zaman aşımı süresi (varsayılan: 5000
ms).maxRedirects
(Number): Maksimum yönlendirme sayısı (varsayılan: 5
).followRedirects
(Boolean): Yönlendirme takibini etkinleştirir veya devre dışı bırakır (varsayılan: true
).defaultHeaders
(Object): Varsayılan istek başlıkları.
GET isteği gönderir.
requestUrl
(String): İstek yapılacak URL.headers
(Object): İstek başlıkları (opsiyonel).
Daha fazla metot için aynı formatta kullanılabilir: post
, put
, delete
, head
, options
, patch
, trace
, connect
.
client.cancelRequest(req)
Belirtilen isteği iptal eder.
req
(http.ClientRequest): İptal edilecek istek nesnesi.
client.isRequestCancelled(req)
Belirtilen isteğin iptal edilip edilmediğini kontrol eder.
req
(http.ClientRequest): Kontrol edilecek istek nesnesi.
Lisans
Bu modül MIT lisansı altında lisanslanmıştır. Detaylar için LICENSE dosyasına bakınız.