Ana içeriğe geç

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ı

IMG2

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:

  1. Yoksay:
    Giriş verileri istekte kullanılmayacaktır. msg.payload alanı, varsa, yoksayılacaktır.

    Örnek:
    Eğer msg.payload içinde bir JSON nesnesi varsa, bu istek içinde yer almayacaktır.


  1. Sorgu parametrelerine ekle:
    msg.payload içindeki veriler, sorgu parametrelerine (Query Parameters) dönüştürülerek URL'ye eklenecektir.

    Örnek:
    Eğer msg.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.


  1. İ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ği POST, PUT ve PATCH gibi yöntemler için uygundur.

    Örnek:
    Eğer msg.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:
    {"status": "ok", "value": 42}
    Şuna dönüştürülür:
    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:

  1. msg.url: İstek için URL (düğüm ayarlarında belirtilmemişse).
  2. msg.method: HTTP yöntemi (düğüm ayarlarında belirtilmemişse).
  3. msg.payload: İstek gövdesi ( POST, PUT, PATCH yöntemleri için kullanılır).
  4. 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:

  1. msg.payload: Sunucudan gelen yanıt verileri.
  2. msg.statusCode: Yanıtın HTTP durum kodu (örneğin, 200 veya 404).
  3. msg.headers: Yanıt başlıkları.
  4. msg.responseUrl: İsteğin yapıldığı URL.
  5. 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.