HTTP İsteği Düğümü
HTTP isteği düğümü, dış web hizmetlerine veya API'lere HTTP istekleri gerçekleştirmek için tasarlanmıştır. Birçok HTTP yöntemini, veri türlerini, kimlik doğrulamayı ve istekler ile yanıtları esnek bir şekilde yönetmeyi destekler.
HTTP İsteği Düğümü Ayarları
1. İsim
Düğümün adını belirtmek için bir alan.
İsim, çalışma alanında görüntülenir ve düğümü kolayca tanımlamaya yardımcı olur.
Boş bırakılırsa, düğüm http request
olarak adlandırılacaktır.
Örnek:
- Düğüm adı:
Hava Durumu Verilerini Al
2. Yöntem
İstek için kullanılacak HTTP yöntemi. Yöntem seçimi, gerçekleştirilmesi gereken işlem türüne bağlıdır.
Mevcut Yöntemler:
GET
: Veri alma.POST
: Veri gönderme.PUT
: Veri güncelleme.DELETE
: Veri silme.PATCH
: Veriyi kısmi olarak güncelleme.HEAD
: Yanıt başlıklarını alma.OPTIONS
: API hakkında bilgi alma.
Örnek:
- Yöntem:
POST
3. Bağlantı
İsteğin gönderileceği statik URL'yi belirtmek için bir alan.
Adresin dinamik olarak belirlenmesi gerekiyorsa, msg.url
içinde iletilebilir.
Örnek:
- Bağlantı:
https://api.example.com/data
4. Veri
Giriş verilerinin HTTP isteğine nasıl ekleneceğini tanımlar. Aşağıdaki seçenekler mevcuttur:
-
Yoksay:
Giriş verileri istekte kullanılmayacaktır.msg.payload
alanı, varsa, yoksayılacaktır.Örnek:
Eğermsg.payload
içinde bir JSON nesnesi varsa, bu istek içinde yer almayacaktır.
-
Sorgu parametrelerine ekle:
msg.payload
içindeki veriler, sorgu parametrelerine (Query Parameters) dönüştürülerek URL'ye eklenecektir.Örnek:
Eğermsg.payload
şunları içeriyorsa:{
"key1": "value1",
"key2": "value2"
}Eğer Bağlantı
http://example.com/api
olarak belirtilmişse, nihai istek şöyle olacaktır:
GET http://example.com/api?key1=value1&key2=value2
.
-
İstek gövdesi olarak gönder:
msg.payload
içindeki veriler, isteğin gövdesinde gönderilecektir. Bu seçenek, verilerin genellikle gövde içinde iletildiğiPOST
,PUT
vePATCH
gibi yöntemler için uygundur.Örnek:
Eğermsg.payload
şunları içeriyorsa:{
"name": "John Doe",
"email": "john.doe@example.com"
}Eğer istek yöntemi
POST
ise, veriler uygun içerikle isteğin gövdesinde gönderilecektir.
5. Dönüş
Düğümün sunucudan gelen yanıtı hangi formatta işleyeceğini tanımlar.
Seçenekler:
- UTF-8 dizesi: Yanıt bir dizeye dönüştürülür (varsayılan).
- Buffer: Yanıt bir
Buffer
nesnesi olarak döner (görüntüler veya dosyalar gibi ikili veriler için yararlıdır). - JSON: Sunucudan gelen yanıt JSON formatındaysa, otomatik olarak bir JavaScript nesnesine dönüştürülür.
Örnek:
- Eğer
JSON
seçilmişse, yanıt:Şuna dönüştürülür:{"status": "ok", "value": 42}
msg.payload = { status: "ok", value: 42 };
6. Kimlik Doğrulama
Düğüm, yerleşik kimlik doğrulama mekanizmalarını destekler.
Temel Kimlik Doğrulama
- Kullanıcı Adı: Kullanıcı adı.
- Şifre: Şifre.
Bearer Token
- Token: Erişim tokeni.
Digest
- Kullanıcı Adı: Kullanıcı adı.
- Şifre: Şifre.
Giriş Verileri
HTTP isteği düğümü, aşağıdaki parametrelerle msg
mesaj nesnesini alır:
- msg.url: İstek için URL (düğüm ayarlarında belirtilmemişse).
- msg.method: HTTP yöntemi (düğüm ayarlarında belirtilmemişse).
- msg.payload: İstek gövdesi (
POST
,PUT
,PATCH
yöntemleri için kullanılır). - msg.headers: HTTP isteği başlıkları (nesne).
Çıkış Verileri
Düğüm, gerçekleştirilen istek hakkında bilgi içeren msg
nesnesini döner:
- msg.payload: Sunucudan gelen yanıt verileri.
- msg.statusCode: Yanıtın HTTP durum kodu (örneğin,
200
veya404
). - msg.headers: Yanıt başlıkları.
- msg.responseUrl: İsteğin yapıldığı URL.
- msg.error: Hata açıklaması (istek başarısız olursa).
Kullanım Örnekleri
Örnek 1: GET isteği gerçekleştirme
Düğüm Ayarları:
- Yöntem:
GET
- URL:
https://api.weatherapi.com/v1/current.json?key=API_KEY&q=London
Akış:
[inject] ---> [http request] ---> [debug]
Sonuç: Düğüm, mevcut hava durumu ile ilgili JSON döndürecektir.
Örnek 2: POST ile veri gönderme
Düğüm Ayarları:
- Yöntem:
POST
- URL:
https://api.example.com/devices
- Veri:
JSON
Akış:
[function] ---> [http request] ---> [debug]
Düğüm function
içindeki kod:
msg.payload = {
deviceId: "sensor123",
status: "active"
};
msg.headers = { "Content-Type": "application/json" };
return msg;
Sonuç: Veriler gönderilecek ve düğüm sunucudan gelen yanıtı döndürecektir.
Örnek 3: Dinamik URL ve kimlik doğrulama
Düğüm Ayarları:
- URL: (boş bırakılacak)
Akış:
[function] ---> [http request] ---> [debug]
Düğüm function
içindeki kod:
msg.url = "https://api.example.com/user/123";
msg.headers = { Authorization: "Bearer YOUR_TOKEN" };
return msg;
Sonuç: Düğüm, belirtilen URL'ye kimlik doğrulama tokeni ile istek gerçekleştirecektir.