パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細v2.0.0-rc.6

relic_headers

HTTP ヘッダー名およびリリックアダプターや他のパッケージで共有されるストレージ。

30日間ダウンロード
1.9万
いいね数
0
Pub ポイント
160

パッケージをインストール

dart pub add relic_headers

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

relic_headers パッケージは、Relic アダプターや関連パッケージで使用される標準化された HTTP ヘッダー名とストレージユーティリティのコレクションを提供します。ヘッダー処理の一貫性を確保し、エラーを低減し、HTTP クライアントとサーバー間の相互運用性を向上させます。頻繁に使用されるヘッダーを中央集約することで、ネットワーク通信ワークフローにおける設定およびメンテナンスを簡素化します。ServerPod エコシステム内での利用を想定しており、HTTP とのやり取りに清潔で再利用可能なコードをサポートしています。

用途

  • サービス間でのHTTPヘッダー使用の標準化
  • HTTP クライアントにおけるヘッダー管理の簡素化
  • 一貫したAPI通信の有効化
  • リリックアダプタの統合をサポート
  • バックエンド間のリクエスト連携を促進する

主な機能

  • 集中型HTTPヘッダー定義
  • ヘッダー値の共有ストレージ
  • アダプタ間の一貫した名前付け
  • 軽量で依存関係に焦点を当てる
  • ServerPodエコシステム専用に設計されています

適している対象

  • ServerPod や Relic アダプタを使用する開発者
  • 一貫したHTTPヘッダー処理を必要とするチーム
  • 信頼できるHTTPクライアント設定を必要とするプロジェクト
  • バックエンドサービス通信
  • 一貫したヘッダーを持つAPIの統合

注意事項

  • 主に ServerPod プロジェクト内での使用を想定しています
  • エコシステム外での独立したユーティリティは限定的
  • 非Relicワークフローの追加設定が必要になる場合があります
  • コンテキストがなければ、汎用HTTPライブラリには適さない

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Relic web server banner

build codecov Stars on Github License: BSD-3-Clause

Relic web server

Relic is a modern, high-performance web server framework inspired by Shelf and built by the Serverpod team to meet the demanding requirements of modern web applications. Relic provides a robust, type-safe, and efficient foundation for building scalable web services.

👉 Full documentation available here 📚

Why Relic?

While Shelf has been a solid foundation for Dart web applications, several areas for improvement were identified. Rather than work around these limitations, Relic was created as a next-generation framework that maintains Shelf's familiar structure while delivering significant enhancements. These are some of the improvements:

  • Strongly typed APIs with validated HTTP headers.
  • Simplified interface for setting up routing and middleware.
  • Unified encoding model for HTTP bodies.
  • Built-in trie-based router, which improves performance.
  • Static file handling with support for cache busting and etags.
  • Built-in support for WebSockets.
  • Improvements in hot reload and running with multiple isolates.

Quick start

  1. Install Dart 3.7 or newer and verify with dart --version.
  2. Add Relic: dart pub add relic
  3. Create a new console app and drop in the hello world server below.
dart create -t console-full hello_world
cd hello_world
dart pub add relic
Run your first Relic server

Place this file in bin/hello_world.dart (runnable example is also under example/example.dart):

import 'package:relic/io_adapter.dart';
import 'package:relic/relic.dart';

/// A simple 'Hello World' server demonstrating basic Relic usage.
Future<void> main() async {
  // Setup the app.
  final app =
      RelicApp()
        // Route with parameters (:name & :age).
        ..get('/user/:name/age/:age', helloHandler)
        // Middleware on all paths below '/'.
        ..use('/', logRequests())
        // Custom fallback - optional (default is 404 Not Found).
        ..fallback = respondWith(
          (_) => Response.notFound(
            body: Body.fromString("Sorry, that doesn't compute.\n"),
          ),
        );

  // Start the server (defaults to using port 8080).
  await app.serve();
}

const _ageParam = PathParam<int>(#age, int.parse);
/// Handles requests to the hello endpoint with path parameters.
Response helloHandler(final Request req) {
  final name = req.pathParameters.raw[#name];
  final age = req.pathParameters.get(_ageParam);

  return Response.ok(
    body: Body.fromString('Hello, $name! To think you are $age years old.\n'),
  );
}

Run it with dart run bin/hello_world.dart and visit http://localhost:8080/user/Nova/age/27.

Additional examples

Relic comes with an extensive set of examples. To run them, clone the Relic repository from GitHub and navigate to the example directory.

git clone https://github.com/serverpod/relic.git
cd relic/example
dart example.dart

Migrating from Shelf

Are you on Shelf? Moving over is straightforward. Relic's APIs are very similar while giving you typed requests, built-in routing, and WebSockets out of the box. Follow the step-by-step guide at docs.dartrelic.dev/getting-started/shelf-migration to upgrade your project in minutes.

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。

ランキング