no versions found for AlierOnNodeReferences / web/webresource / en

WebResource

モジュールパス: NodeJS/alier_sys/WebResource.js

--- config: class: hideEmptyMembersBox: true --- classDiagram direction LR WebEntity <|-- WebResource link WebEntity "../webentity.html"

概要


このクラスは Node.js 上で動作するサーバアプリケーション上のリソースをクライアントに提供するための 具象クラス です。

WebResource のインスタンスは、完全一致または前方一致のパスのパターンに対して、一対一の対応を持ちます。互いに重複するパターンに対して複数の WebResource インスタンスを同時に利用することはできません。

このクラスでは

  • GET

に対応するメソッドが定義されています。

コンストラクタ


構文

new WebResource(o) => WebResource

引数

  • o: object

    以下のプロパティを持つオブジェクトです:

    • path: string

      WebEntity を参照してください。

    • authProtocols: AbstractAuthProtocol[] | null

      WebEntity を参照してください。

    • contentType: string

      既定のコンテンツ形式 (Content-Type) を表す文字列です。対象の WebResource のプロパティ contentType を決定します。

    • allowedContentTypes: Iterable<string>?

      コンテンツ形式の集合を表す列挙可能オブジェクトまたは null です。対象の WebResource のプロパティ allowedContentTypes を決定します。この引数は省略可能です。

      列挙可能オブジェクトを指定した場合、対象の WebResource が指すリソースに対するリクエストについて、その Accept リクエストヘッダとして許されるコンテンツ形式として、列挙可能オブジェクトに含まれるコンテンツ形式、および o.contentType で指定したコンテンツ形式のみ許可される。null を指定した場合、o.contentType に指定したコンテンツ形式のみが許可される。

    • target: string | object

      対象のファイルパスまたはリソース取得を行うオブジェクトです。

      o.target が文字列の場合、WebResource を介して公開する対象となるファイルのパスとして扱われます。

      o.path がワイルドカードを含まない単一のパスである場合、o.target はそれに対応する単一のファイルを指すファイルパスである必要があります。

      o.path がワイルドカードを含む場合、o.target はワイルドカードで示されるサブディレクトリおよびファイル名に対応するファイルを含むルートディレクトリのパスである必要があります。

      warning

      ラベルには現状は対応していません

      o.target がオブジェクトの場合、以下のメソッドを実装している必要があります。

      get: (
          requestedPath    : string,
          requestDescriptor: ({
              contentType: string,
              first: string[],
              last: string[],
              params: { [param_name: string]: string }
          }),
      ) => string | Uint8Array

      このメソッドは get() の呼び出しの中で使用されます。呼び出しに成功した場合、返値は get() が返すオブジェクトのプロパティ body に設定されます。

例外

  • TypeError
    • 引数 o.contentType が文字列でなかった場合。
    • 引数 o.contentType が MIME 形式のコンテンツタイプでなかった場合。
    • 引数 o.allowedContentTypes が非 null オブジェクトだが列挙可能でなかった場合。
    • 引数 o.allowedContentTypes の成分のいずれかが文字列でなかった場合。
    • 引数 o.allowedContentTypes の成分のいずれかが MIME 形式のコンテンツタイプでなかった場合。

メソッド


継承するメソッド

基底クラス WebEntity から以下を継承しています:


getAllowedType()

  • 与えられたコンテンツ形式が許可されているか検査し、許可されている場合は与えられたコンテンツ形式に適合する具体的なコンテンツ形式を返します。

get()

  • リソースをいずれかの要求されたコンテンツ形式で配信します。

プロパティ


継承するプロパティ

基底クラス WebEntity から以下を継承しています:


contentType

既定のコンテンツ形式を表す文字列です。

string

詳細

この値は、コンストラクタ引数 o.contentType によって設定されます。


allowedContentTypes

コンテンツ形式のリストを与える列挙可能オブジェクトです。

Iterable<string>

詳細

この値は、コンストラクタ引数 o.allowedContentTypes として与えられたコンテンツ形式を列挙します。