𝗥𝗲𝗾𝘂𝗲𝘀𝘁 𝗠𝗲𝘁𝗵𝗼𝗱 𝗙𝗶𝗹𝘁𝗲𝗿𝗶𝗻𝗴 𝗶𝗻 𝗛𝘆𝗽𝗲𝗿𝗹𝗮𝗻𝗲 (Hyperlane'da İstek Metodu Filtreleme)
Web uygulamaları GET, POST ve DELETE gibi farklı HTTP metotlarını işler. Hyperlane, bu istekleri filtrelemek için size birkaç yol sunar. İstekleri belirli işleyicilere (handlers) yönlendirebilir veya metotları kontrol etmek için ara yazılım (middleware) kullanabilirsiniz.
Metotları filtrelemenin yolları şunlardır:
Basit salt okunur uç noktalar (endpoints) için #[is_get_method] kullanın. Bu makro, GET isteği olmayan tüm istekleri reddeder.
Esnek yönlendirme için #[methods] kullanın. İzin verilen metotların bir listesini geçebilirsiniz. Örneğin, #[methods("GET", "POST")] hem veri okumaya hem de veri oluşturmaya izin verir.
Karmaşık mantıklar için manuel kontroller kullanın. Metodu bağlamdan (context) çekebilir ve nasıl yanıt verileceğine karar vermek için if-else ifadelerini kullanabilirsiniz.
Rota düzeyinde kontrol için #[filter] kullanın. Bunu rota tanımlarıyla birleştirerek aynı yol (path) üzerindeki farklı metotlar için özel işleyiciler oluşturabilirsiniz.
Günlükleme (logging) veya hata ayıklama (debugging) için ara yazılım (middleware) kullanın. Metodu ayıklayabilir ve istek özniteliklerinize (attributes) ekleyebilirsiniz.
API'niz için en iyi uygulamalar:
- Kodun temiz kalması için salt okunur görevlerde #[is_get_method] kullanın.
- Bir uç nokta birden fazla istek türüne ihtiyaç duyduğunda #[methods] kullanın.
- Kullanıcı desteklenmeyen bir metot gönderirse 405 durum kodu döndürün.
- Katı kurallar oluşturmak için filtreleri birleştirin. Metodu, ana bilgisayarı (host) ve yol uzunluğunu aynı anda kontrol edebilirsiniz.
Bu araçlar, temiz ve düzenli API'ler oluşturmanıza yardımcı olur. Kodunuzun okunmasını ve bakımını kolaylaştırır.
Project Code: https://github.com/hyperlane-dev/hyperlane
Source: https://dev.to/tengxgfyrz67s/request-method-filtering-35jk