🌐 http - HTTP Client/Server

HTTP/1.1 Client, Server, REST API, Routing

76
Functions
1,549
Lines
50 KB
Size

🚀 Quick Start

içe_aktar http

// HTTP GET request
değişken yanıt = http.get("https://api.github.com/users/arslantasm")
yazdır(yanıt.durum.kod)  // 200
yazdır(yanıt.gövde)      // JSON response

// HTTP POST request
değişken veri = json.stringify({"name": "BERK", "version": "1.0"})
değişken yanıt2 = http.post("https://api.example.com/data", veri)

// Create HTTP Server
değişken sunucu = http.sunucu_oluştur("127.0.0.1", 8080)

sunucu.rotala("GET", "/", fonksiyon(istek, yanıt) yap
    yanıt.json({"message": "Merhaba BERK!", "version": "1.0.0"})
son)

sunucu.rotala("GET", "/users/:id", fonksiyon(istek, yanıt) yap
    değişken id = istek.params["id"]
    yanıt.json({"user_id": id, "name": "Test User"})
son)

yazdır("Sunucu http://127.0.0.1:8080 çalışıyor...")
sunucu.başlat()

📚 Function Categories

HTTP Client

get(), post(), put(), delete(), patch(), head(), options()

HTTP Server

sunucu_oluştur(), rotala(), başlat(), durdur(), middleware()

Request/Response

istek_oluştur(), yanıt_oluştur(), başlık_ekle(), çerez_ekle()

Helper Functions

query_parse(), form_parse(), json_parse(), url_encode(), url_decode()

💡 Examples

Example 1: REST API Client

içe_aktar http, json

fonksiyon kullanıcı_al(id: tamsayı) -> Sonuç[yazı, yazı] yap
    değişken url = "https://api.example.com/users/" + id.yazıya()
    değişken yanıt = http.get(url)
    
    eğer yanıt.durum.kod == 200 ise yap
        dön Tamam(yanıt.gövde)
    son değilse yap
        dön Hata("Kullanıcı bulunamadı")
    son
son

değişken sonuç = kullanıcı_al(123)
eşleşme sonuç yap
    Tamam[veri] => yazdır("Kullanıcı: " + veri)
    Hata[mesaj] => yazdır("Hata: " + mesaj)
son

Example 2: RESTful API Server

içe_aktar http, json

değişken kullanıcılar = {
    "1": {"id": 1, "isim": "Ali", "yaş": 25},
    "2": {"id": 2, "isim": "Ayşe", "yaş": 30}
}

değişken sunucu = http.sunucu_oluştur("0.0.0.0", 3000)

// All users
sunucu.rotala("GET", "/api/users", fonksiyon(istek, yanıt) yap
    yanıt.json(kullanıcılar)
son)

// Single user
sunucu.rotala("GET", "/api/users/:id", fonksiyon(istek, yanıt) yap
    değişken id = istek.params["id"]
    
    eğer kullanıcılar.içerir(id) ise yap
        yanıt.json(kullanıcılar[id])
    son değilse yap
        yanıt.durum(404).json({"hata": "Kullanıcı bulunamadı"})
    son
son)

// Add new user
sunucu.rotala("POST", "/api/users", fonksiyon(istek, yanıt) yap
    değişken veri = json.parse(istek.gövde)
    değişken id = (kullanıcılar.uzunluk() + 1).yazıya()
    
    kullanıcılar[id] = veri
    yanıt.durum(201).json(veri)
son)

// Update user
sunucu.rotala("PUT", "/api/users/:id", fonksiyon(istek, yanıt) yap
    değişken id = istek.params["id"]
    değişken veri = json.parse(istek.gövde)
    
    eğer kullanıcılar.içerir(id) ise yap
        kullanıcılar[id] = veri
        yanıt.json(veri)
    son değilse yap
        yanıt.durum(404).json({"hata": "Kullanıcı bulunamadı"})
    son
son)

// Delete user
sunucu.rotala("DELETE", "/api/users/:id", fonksiyon(istek, yanıt) yap
    değişken id = istek.params["id"]
    
    eğer kullanıcılar.içerir(id) ise yap
        kullanıcılar.sil(id)
        yanıt.durum(204).gönder()
    son değilse yap
        yanıt.durum(404).json({"hata": "Kullanıcı bulunamadı"})
    son
son)

yazdır("RESTful API Server http://localhost:3000 çalışıyor...")
sunucu.başlat()

Example 3: Middleware and CORS

içe_aktar http

değişken sunucu = http.sunucu_oluştur("0.0.0.0", 8080)

// CORS middleware
sunucu.middleware(fonksiyon(istek, yanıt, ileri) yap
    yanıt.başlık_ekle("Access-Control-Allow-Origin", "*")
    yanıt.başlık_ekle("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE")
    yanıt.başlık_ekle("Access-Control-Allow-Headers", "Content-Type")
    
    eğer istek.metod == "OPTIONS" ise yap
        yanıt.durum(204).gönder()
    son değilse yap
        ileri()
    son
son)

// Logging middleware
sunucu.middleware(fonksiyon(istek, yanıt, ileri) yap
    değişken başlangıç = time.şimdi()
    
    ileri()
    
    değişken süre = time.şimdi() - başlangıç
    yazdır(istek.metod + " " + istek.yol + " - " + süre.yazıya() + "ms")
son)

// Routes
sunucu.rotala("GET", "/api/data", fonksiyon(istek, yanıt) yap
    yanıt.json({"data": "BERK HTTP Server"})
son)

sunucu.başlat()

← All Modules | Home