emptygif
言語: 日本語

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

Dart standard library (dart:io) Dart

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

Dart standard library (dart:io) Dart

ファイル
server.dart
実行
dart run server.dart
import 'dart:convert';
import 'dart:io';

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

Future<void> main() async {
  final server = await HttpServer.bind(InternetAddress.anyIPv4, 8080);
  await for (final request in server) {
    final response = request.response;
    if (request.method == 'GET' && request.uri.path == '/pixel.gif') {
      response.headers
        ..contentType = ContentType('image', 'gif')
        ..set(HttpHeaders.cacheControlHeader, 'no-store');
      response.contentLength = gif.length;
      response.add(gif);
    } else {
      response.statusCode = HttpStatus.notFound;
    }
    await response.close();
  }
}

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

確認

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

公式サイト: Dart standard library (dart:io)

Dart の他の例