emptygif
زبان: فارسی

همه زبان‌ها و فریم‌ورک‌ها

Hummingbird Swift

قطعه‌کد Swift برای Hummingbird که به درخواست‌های /pixel.gif با GIF خالی پاسخ می‌دهد؛ GIF فقط یک‌بار هنگام راه‌اندازی دیکود می‌شود.

Hummingbird Swift

نصب
.package(url: "https://github.com/hummingbird-project/hummingbird.git", from: "2.0.0")
فایل
App.swift
اجرا
swift run
import Hummingbird

let gif = ByteBuffer(bytes: [0x47, 0x49, 0x46, 0x38, 0x39, 0x61, 0x01, 0x00, 0x01, 0x00, 0x80, 0x00, 0x00, 0xff, 0xff, 0xff, 0x00, 0x00, 0x00, 0x21, 0xf9, 0x04, 0x01, 0x00, 0x00, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x02, 0x02, 0x44, 0x01, 0x00, 0x3b] as [UInt8])

@main
struct App {
    static func main() async throws {
        let router = Router()
        router.get("/pixel.gif") { _, _ in
            Response(
                status: .ok,
                headers: [.contentType: "image/gif", .cacheControl: "no-store"],
                body: .init(byteBuffer: gif)
            )
        }
        let app = Application(
            router: router,
            configuration: .init(address: .hostname("0.0.0.0", port: 8080))
        )
        try await app.runService()
    }
}

این قطعه‌کد را اجرا کردیم و بایت‌هایی را که برگرداند مقایسه کردیم.

بررسی

curl -sI http://localhost:8080/pixel.gif

سایت رسمی: Hummingbird

موارد بیشتر در Swift