RouterExt
RouterExt は axum の Router に hypersig のルートを追加します。axum の feature が必要で、この feature は既定で有効です。
RouterExt
| 項目 | 概要 |
|---|---|
hypersig_runtime | ブラウザのランタイムを RUNTIME_PATH で配信します。 |
action | 差分のまとまりを 1 つ返すハンドラで action を配信します。 |
stream | 差分のストリームを返すハンドラで、stream を GET に配信します。 |
PageResponse | ページのハンドラが返す値です。ページ、状態を付けたページ、リダイレクト、404 のいずれかです。 |
PageResponse::with_status | page を状態 status で返します。見た目を整えた 404 Not Found などに使います。 |
Unserved | どのページにも届かなかったページのリクエストです。routes! の else に書いたハンドラが受け取ります。 |
Unserved::status | このリクエストに返すページの状態です。404 か 400 になります。 |
Unserved::within | リクエストのパスが route のパスで始まるときの、route のパラメータです。 |
RequestKind | リクエストの送り手です。ページを読み込むブラウザか、アクションを呼ぶランタイムのどちらかです。 |
RequestKind::of | ヘッダ部が request であるリクエストの種類です。 |
ActionResponse | アクションのハンドラが返す値です。シグナルが S のページへの差分です。 |
Handler | ページ、アクション、ストリームを配信する関数です。 |
RequestError | ハンドラが動く前に断られた、アクションかアップロードへのリクエストです。 |
RequestError::status | このエラーが返す応答の状態です。 |
アップロード
アップロードは、ファイル入力で選んだファイルも受け取るアクションです。どちらもページの型を持ちます。
| 項目 | 概要 |
|---|---|
upload | 引数とファイルを Uploaded として受け取るハンドラで upload を配信します。 |
Upload | 引数 A と、FileInput で選んだファイルを受け取るエンドポイントです。 |
Upload::max_bytes | 本文を最大 bytes バイトまで受け付ける、同じアップロードです。既定は 8 MiB です。 |
Upload::under | base の下に置いた同じアップロードです。ページからの呼び出しは、パスの前に base を付けます。 |
Upload::call_with | files で選んだファイルと args を送る呼び出しです。 |
FileInput | Upload がそのファイルを送る、ファイル入力です。 |
FileInput::input | <input type="file"> の要素です。 |
FileInput::clear | 入力を空にする文です。ファイルを送ったあとなどに使います。 |
Uploaded | アップロードのハンドラが受け取る値です。引数とファイルです。 |
UploadedFile | メモリに読み込んだ、アップロードの 1 つのファイルです。名前、メディアタイプ、中身を持ちます。 |
upload_stream | ファイルを UploadStream からチャンクで読むハンドラで、upload を配信します。 |
UploadStream | ストリームで受け取るアップロードのハンドラが受け取る値です。引数と、1 つずつ取り出すファイルです。 |
StreamedFile | チャンクで読む、ストリームのアップロードの 1 つのファイルです。 |