Overview

Namespaces

  • Peach
    • DF
    • DT
    • Http
      • Body
      • Header
    • Markup
    • Util

Classes

  • Body
  • DefaultEndpoint
  • Request
  • Response
  • Util

Interfaces

  • BodyRenderer
  • Endpoint
  • HeaderField
  • MultiHeaderField
  • SingleHeaderField
  • Overview
  • Namespace
  • Class

Class Util

HTTP メッセージを扱う際によく使われる機能を集めたユーティリティクラスです.

Namespace: Peach\Http
Located at Peach/Http/Util.php
Methods summary
public static
# validateHeaderName( string $name )

指定された文字列が HTTP ヘッダー名として妥当かどうかを検証します. 文字列が半角アルファベット・数字・ハイフンから成る場合のみ妥当とします. 妥当な文字列でない場合は InvalidArgumentException をスローします.

指定された文字列が HTTP ヘッダー名として妥当かどうかを検証します. 文字列が半角アルファベット・数字・ハイフンから成る場合のみ妥当とします. 妥当な文字列でない場合は InvalidArgumentException をスローします.

Parameters

$name
ヘッダー名

Throws

InvalidArgumentException
引数がヘッダー名として不正だった場合
public static
# validateHeaderValue( string $value )

指定された文字列が HTTP ヘッダーの値として妥当かどうかを検証します.

指定された文字列が HTTP ヘッダーの値として妥当かどうかを検証します.

RFC 7230 で定義された以下の ABNF に基いて妥当性の判定を行います.

header-field   = field-name ":" OWS field-value OWS

field-name     = token
field-value    = *( field-content / obs-fold )
field-content  = field-vchar [ 1*( SP / HTAB ) field-vchar ]
field-vchar    = VCHAR / obs-text

obs-fold       = CRLF 1*( SP / HTAB )

妥当な文字列でない場合は InvalidArgumentException をスローします. obs-text および obs-fold については RFC7230 で廃止されているため例外として処理します.

Parameters

$value
検査対象のヘッダー値

Throws

InvalidArgumentException
引数がヘッダー値として不正だった場合
public static boolean
# checkResponseUpdate( Peach\Http\Request $request, Peach\DT\Timestamp $lastModified, string $etag = null )

指定された Request の If-Modified-Since および If-None-Match ヘッダーを参照し, この Request がキャッシュしているリソースの最新版が存在するかどうかを判定します.

指定された Request の If-Modified-Since および If-None-Match ヘッダーを参照し, この Request がキャッシュしているリソースの最新版が存在するかどうかを判定します.

Parameters

$request
判定対象の Request
$lastModified
サーバー側リソースの最終更新日時
$etag
サーバー側リソースの ETag

Returns

boolean
public static Peach\Http\HeaderField
# parseHeader( string $name, string $value )

指定されたヘッダー名, ヘッダー値の組み合わせから HeaderField オブジェクトを構築します.

指定されたヘッダー名, ヘッダー値の組み合わせから HeaderField オブジェクトを構築します.

Parameters

$name
ヘッダー名
$value
ヘッダー値

Returns

Peach\Http\HeaderField
PEACH2 API documentation generated by ApiGen