emptygif
言語: 日本語

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

Shelf Dart

/pixel.gif へのリクエストに空の GIF を返す、Shelf 用の Dart スニペット。GIF は起動時に一度だけデコードします。

Shelf Dart

インストール
dart pub add shelf shelf_router
ファイル
server.dart
実行
dart run bin/server.dart
import 'dart:convert';
import 'dart:io';

import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as io;
import 'package:shelf_router/shelf_router.dart';

final gif = base64Decode('R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==');

Future<void> main() async {
  final router = Router()
    ..get('/pixel.gif', (Request request) {
      return Response.ok(gif, headers: {
        HttpHeaders.contentTypeHeader: 'image/gif',
        HttpHeaders.cacheControlHeader: 'no-store',
      });
    });

  await io.serve(router.call, InternetAddress.anyIPv4, 8080);
}

このスニペットは実行し、返されたバイト列を照合しました。

確認

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

公式サイト: Shelf

Dart の他の例