HttpHeaders (クラス)
public HttpHeaders {inherits {HashTable-of String, String, key-hash-proc=case-insensitive-hash-proc, key-equality-proc=case-insensitive-equality-proc}}
インポート元: CURL.GUI.STANDARD. package 内で定義されています CURL.IO.HTTP.
直接継承しているサブクラス: HttpRequestHeaders, HttpResponseHeaders

HTTP リクエスト と HTTP 応答の共通のスーパークラス。

説明

ヘッダー フィールドのキーには大文字と小文字の区別はなく、パラメータ化された型に対するハッシュ プロシージャおよび等価のプロシージャが提供されています。

コンストラクタ
clone-from:HttpHeaders を初期化します。
コンストラクタ public {HttpHeaders.clone-from from:HttpHeaders}
default:ハッシュ テーブルのキーと値の組で、HttpHeaders を作成します。
コンストラクタ public {HttpHeaders.default ...:String}

プロパティ
charset:Content-Type の charset パラメータ。
アクセサ public HttpHeaders.charset:#String
content-type:HTTP ヘッダーにあるコンテンツ タイプ。HTTP ヘッダーにコンテンツ タイプが存在しない場合は null。
アクセサ public HttpHeaders.content-type:#String
mime-type:Content-Type の MIME タイプ。
アクセサ public HttpHeaders.mime-type:#String
プロパティ 継承 HashTable-of: efficient-size, size
プロパティ 継承 Association-of: empty?, key-type
プロパティ 継承 Aggregate-of: element-type

クラス プロシージャ
date-time-to-http-header-string:DateTime を HTTP/1.1 で優先指定された形式の文字列に変換します。
public {HttpHeaders.date-time-to-http-header-string
date-time:DateTime
}:String
get-parameter:パラメータ param の値を、文字列 from から抽出します。指定されたパラメータが文字列中に存在しない場合は、default を既定値として使用します。
public {HttpHeaders.get-parameter
from:String,
param:String,
default:#String = null
}:#String
http-header-string-to-date-time:HTTP ヘッダーからの文字列を DateTime に変換します。
public {HttpHeaders.http-header-string-to-date-time
string:String
}:#DateTime
parse-header-field:HTTP ヘッダー フィールドを解析します。
public {HttpHeaders.parse-header-field
header-field:String
}:(name:String, value:String)

メソッド
clone:ハッシュ テーブルのクローンを返します。
public {HttpHeaders.clone}:HttpHeaders
object-describe-for-debugging:オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。
public {HttpHeaders.object-describe-for-debugging}:void
メソッド 継承 HashTable-of: clear, filter-clone, filter-keys-clone, get-if-exists, get-key-if-exists, grow, key-exists?, keys-to-Iterator, object-serialize, rehash, remove, set, to-Iterator
メソッド 継承 Association-of: filter, filter-keys, get, get-key
メソッド 継承 Object: object-describe



コンストラクタ詳細
clone-from (コンストラクタ)
public {HttpHeaders.clone-from from:HttpHeaders}

HttpHeaders を初期化します。

from: self の初期の内容は from からコピーされます。


default (コンストラクタ)
public {HttpHeaders.default ...:String}

ハッシュ テーブルのキーと値の組で、HttpHeaders を作成します。




プロパティ詳細
charset (アクセサ)
アクセサ public HttpHeaders.charset:#String

Content-Type の charset パラメータ。

説明

たとえば、次の HTTP ヘッダーを見てください。
  • "Content-Type: text/plain;charset=iso-8859-1"
この charset は「iso-8859-1」です。

注意事項

content-type が指定されない場合、charset は null になります。
content-type は指定されても charset パレメータが指定されない場合、charset は既定により "iso-8859-1" になります。

注意事項

http-charset-to-char-encoding を使い、charset の文字列を CharEncoding での対応するエンコーディング名にデコードできます。


content-type (アクセサ)
アクセサ public HttpHeaders.content-type:#String

HTTP ヘッダーにあるコンテンツ タイプ。HTTP ヘッダーにコンテンツ タイプが存在しない場合は null。

説明

ボディのメディア タイプ。HEAD リクエストの場合、リクエストが GET ならば送られるメディアのタイプになります。

メディア タイプの例 : "text/html; charset=ISO-8859-4"

注意事項

HttpHeaders.mime-type」および「HttpHeaders.charset」も参照してください。


mime-type (アクセサ)
アクセサ public HttpHeaders.mime-type:#String

Content-Type の MIME タイプ。

説明

たとえば、次の HTTP ヘッダー部分を見てください。
"Content-Type: text/plain;charset=Shift-JIS"
この mime-type は「text/plain」です。
Content-Type ステートメントが存在しないか空の場合、mime-type は既定の null になります。




クラス プロシージャ詳細
date-time-to-http-header-string (クラスプロシージャ)
public {HttpHeaders.date-time-to-http-header-string
date-time:DateTime
}:String

DateTime を HTTP/1.1 で優先指定された形式の文字列に変換します。

date-time: 変換対象の DateTime。

戻り値

HTTP/1.1 フォーマットで優先指定された形式の日時を含む String

注意事項

優先される HTTP/1.1 フォーマットは、RFC 822 (RFC 1123 で改訂) で解説されています。

Sun, 06 Nov 1994 08:49:37 GMT.


get-parameter (クラスプロシージャ)
public {HttpHeaders.get-parameter
from:String,
param:String,
default:#String = null
}:#String

パラメータ param の値を、文字列 from から抽出します。指定されたパラメータが文字列中に存在しない場合は、default を既定値として使用します。

注意事項

パラメータは、"...;param=value;..." のスタイルで埋め込まれている必要があります。


http-header-string-to-date-time (クラスプロシージャ)
public {HttpHeaders.http-header-string-to-date-time
string:String
}:#DateTime

HTTP ヘッダーからの文字列を DateTime に変換します。

string: 日時を含む HTTP ヘッダー内の文字列。

戻り値

string パラメータに対応する DateTime。文字列の解析でエラーが発生した場合は null を返します。

注意事項

RFC 2616 (HTTP/1.1) で指定されているように、3 つの形式がサポートされています。


parse-header-field (クラスプロシージャ)
public {HttpHeaders.parse-header-field
header-field:String
}:(name:String, value:String)

HTTP ヘッダー フィールドを解析します。

header-field: ヘッダー フィールドを含む String

戻り値

"string-1:string-2" の形式のヘッダー フィールドから、2 つの String を返します。

説明

ヘッダー フィールドに ":" が含まれていない場合は、2 番目の文字列は空になります。2 つの文字列は、トリムにより空白が除去されます。



メソッド詳細
clone (メソッド)
public {HttpHeaders.clone}:HttpHeaders

ハッシュ テーブルのクローンを返します。

戻り値

HashTable-of のインスタンス。オブジェクトは、self と同じデータ型およびデータを持ちます。

説明

クローンは、self と同じデータ型を持つ新しいオブジェクトです。クローンは、self の浅いコピー(shallow copy)です。つまり、クローンには self の元の要素への固有の参照が含まれます。したがって、元のコレクション内の要素を置換または削除しても、クローン コレクション内の要素には影響しません。


|| Declare and initialize a hash table with
|| String keys and int elements.
{let table-1:{HashTable-of int, String} =
    {new {HashTable-of int, String},
         162094, "tom",
         439853, "dick",
         098627, "harry"
    }
}

|| Declare table-2 (a target hash table) and initialize it with
|| a copy of the contents of table-1.
{let table-2:{HashTable-of int, String} = {table-1.clone}}

|| Use a VBox to display the contents of table-2.
|| For each key in table-2 add an HBox to the VBox.
|| The HBox contains the relevant key and element.
|| Then display the VBox.
{let message:VBox = {VBox}}
{for key i:int in table-2 do
    {message.add {HBox i, " ", {table-2.get i}}}
}
{value message}

注意事項

クローンの詳細については、『Curl 開発者ガイド』の「コレクション:ハッシュ テーブル」でクローンに関するセクションを参照してください。


object-describe-for-debugging (メソッド)
public {HttpHeaders.object-describe-for-debugging}:void

オブジェクトについて細部を記述します。これは主にデバッグ目的での使用が想定されています。

out: 文字が送られるストリーム。
locale: self の表示方法をコントロールする Locale

説明

このメソッドは、一般に、"%y" フォーマット キーを使用して間接的に起動されます。"%y" フォーマット キーは、このメソッドによって生成された結果を、次のような何らかの型またはアドレス情報でラップします。
{do
    let buf:StringBuf = {StringBuf}
    {self.object-describe-for-debugging buf, {get-syntax-locale}}
    {format out = out, "[<type> @<addr> %s]", buf}
}
このメソッドの既定の実装では
{format out = out, "%w", self} を呼び出します。
(「%w」フォーマット キーの詳細については、format を参照してください)。
これが FormatFailedException を取得する場合、通常ユーザー定義のクラスのように、このメソッドは object-describe メソッドの呼び出しに戻ります。