emptygif
言語: 日本語

すべての言語・フレームワーク

Hummingbird Swift

/pixel.gif へのリクエストに空の GIF を返す、Hummingbird 用の Swift スニペット。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 の他の例