このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
psr:psr18 [2020/08/28 13:13] y2sunlight [クライアント] |
psr:psr18 [2020/08/28 16:19] y2sunlight [RequestExceptionInterface] |
||
---|---|---|---|
行 80: | 行 80: | ||
===== エラー処理 ====== | ===== エラー処理 ====== | ||
- | |||
- | A Client MUST NOT treat a well-formed HTTP request or HTTP response as an error condition. For example, response status codes in the 400 and 500 range MUST NOT cause an exception and MUST be returned to the Calling Library as normal. | ||
クライアントは、整形式のHTTPリクエストまたはHTTPレスポンスをエラー状態として扱わないでください( '' | クライアントは、整形式のHTTPリクエストまたはHTTPレスポンスをエラー状態として扱わないでください( '' | ||
- | A Client MUST throw an instance of Psr\Http\Client\ClientExceptionInterface if and only if it is unable to send the HTTP request at all or if the HTTP response could not be parsed into a PSR-7 response object. | + | クライアントは、HTTPリクエストをまったく送信できない場合、または HTTPレスポンスを PSR-7 レスポンスオブジェクトにパースできなかった場合にのみ、'' |
- | + | ||
- | クライアントは、HTTPリクエストをまったく送信できない場合、またはHTTPレスポンスをPSR-7レスポンスオブジェクトにパースできなかった場合にのみ、'' | + | |
- | + | ||
- | If a request cannot be sent because the request message is not a well-formed HTTP request or is missing some critical piece of information (such as a Host or Method), the Client MUST throw an instance of Psr\Http\Client\RequestExceptionInterface. | + | |
リクエストメッセージが整形式のHTTPリクエストではないか、重要な情報(ホストやメソッドなど)がないためにリクエストを送信できない場合、クライアントは '' | リクエストメッセージが整形式のHTTPリクエストではないか、重要な情報(ホストやメソッドなど)がないためにリクエストを送信できない場合、クライアントは '' | ||
- | |||
- | If the request cannot be sent due to a network failure of any kind, including a timeout, the Client MUST throw an instance of Psr\Http\Client\NetworkExceptionInterface. | ||
タイムアウトを含むあらゆる種類のネットワーク障害が原因でリクエストを送信できない場合、クライアントは '' | タイムアウトを含むあらゆる種類のネットワーク障害が原因でリクエストを送信できない場合、クライアントは '' | ||
- | |||
- | Clients MAY throw more specific exceptions than those defined here (a TimeOutException or HostNotFoundException for example), provided they implement the appropriate interface defined above. | ||
クライアントは、上記で定義された適切なインターフェースを実装している場合、ここで定義されたものよりも具体的な例外(例えば、 '' | クライアントは、上記で定義された適切なインターフェースを実装している場合、ここで定義されたものよりも具体的な例外(例えば、 '' | ||
行 116: | 行 106: | ||
{ | { | ||
/** | /** | ||
- | * Sends a PSR-7 request and returns a PSR-7 response. | ||
* PSR-7リクエストを送信し、PSR-7レスポンスを返します。 | * PSR-7リクエストを送信し、PSR-7レスポンスを返します。 | ||
* | * | ||
* @param RequestInterface $request | * @param RequestInterface $request | ||
- | * | ||
* @return ResponseInterface | * @return ResponseInterface | ||
* | * | ||
- | * @throws \Psr\Http\Client\ClientExceptionInterface | + | * @throws \Psr\Http\Client\ClientExceptionInterface リクエストの処理中にエラーが発生した場合。 |
- | | + | |
*/ | */ | ||
public function sendRequest(RequestInterface $request): ResponseInterface; | public function sendRequest(RequestInterface $request): ResponseInterface; | ||
行 138: | 行 126: | ||
/** | /** | ||
- | * Every HTTP client related exception MUST implement this interface. | ||
* すべてのHTTPクライアント関連の例外は、このインターフェイスを実装する必要があります。 | * すべてのHTTPクライアント関連の例外は、このインターフェイスを実装する必要があります。 | ||
*/ | */ | ||
行 156: | 行 143: | ||
/** | /** | ||
- | * Exception for when a request failed. | ||
* リクエストが失敗した場合の例外。 | * リクエストが失敗した場合の例外。 | ||
* | * | ||
- | * Examples: | ||
- | | ||
- | | ||
* 例: | * 例: | ||
| | ||
行 169: | 行 152: | ||
{ | { | ||
/** | /** | ||
- | * Returns the request. | ||
* リクエストを返します。 | * リクエストを返します。 | ||
* | * | ||
- | * The request object MAY be a different object from the one passed to ClientInterface:: | ||
* リクエストオブジェクトは、ClientInterface:: | * リクエストオブジェクトは、ClientInterface:: | ||
* 異なるオブジェクトである可能性があります | * 異なるオブジェクトである可能性があります |