Engine
in package
Table of Contents
Properties
- $curl : CurlHandle
- $responseBody : string
- $responseHeaders : array<string|int, mixed>
Methods
- __construct() : mixed
- Constructor
- getCaBundlePath() : non-empty-string|null
- cURL に渡す CA bundle のパスを解決する。
- getResponseBody() : string
- get response body
- getResponseHeader() : string|array<string|int, mixed>
- get response header
- init() : self
- init request
- isTlsVerificationEnabled() : bool
- 現在の実行環境(.env の HTTP_SSL_VERIFY)から TLS 検証の有効可否を解決する。
- send() : self
- send request
- setCurlProxy() : void
- cURLプロキシを設定する
- setCurlSsl() : void
- cURL に安全な TLS 検証オプションを設定する。
- setPostData() : self
- set post data
- setRequestHeaders() : mixed
- set request headers
- shouldVerifyTls() : bool
- TLS 検証の有効可否を設定値から決める(純粋関数)。
- getHeadersFromCurlResponse() : array<string|int, mixed>
- get headers from curl response
- setCurlOption() : void
Properties
$curl
protected
CurlHandle
$curl
$responseBody
protected
string
$responseBody
$responseHeaders
protected
array<string|int, mixed>
$responseHeaders
Methods
__construct()
Constructor
public
__construct() : mixed
getCaBundlePath()
cURL に渡す CA bundle のパスを解決する。
public
getCaBundlePath() : non-empty-string|null
システムの CA bundle が見つからない環境でも composer/ca-bundle 同梱の cacert.pem に フォールバックするため、検証を有効化しても環境差で失敗しにくくなる。解決に失敗した 場合は null を返し、cURL のビルトイン既定 CA に委ねる(検証自体は維持する)。
Return values
non-empty-string|null —CA bundle のファイルまたはディレクトリのパス。解決不能なら null
getResponseBody()
get response body
public
getResponseBody() : string
Return values
stringgetResponseHeader()
get response header
public
getResponseHeader([string|false $name = false ]) : string|array<string|int, mixed>
Parameters
- $name : string|false = false
Return values
string|array<string|int, mixed>init()
init request
public
init(string $uri[, string $method = "get" ]) : self
Parameters
- $uri : string
- $method : string = "get"
Return values
selfisTlsVerificationEnabled()
現在の実行環境(.env の HTTP_SSL_VERIFY)から TLS 検証の有効可否を解決する。
public
isTlsVerificationEnabled() : bool
生 cURL は setCurlSsl() が内部で使うが、embed など自前の CurlHandle を持たない トランスポートも同一の設定を共有できるよう public にしている。
Return values
boolsend()
send request
public
send() : self
Return values
selfsetCurlProxy()
cURLプロキシを設定する
public
setCurlProxy(CurlHandle $ch) : void
Parameters
- $ch : CurlHandle
setCurlSsl()
cURL に安全な TLS 検証オプションを設定する。
public
setCurlSsl(CurlHandle $ch) : void
VERIFYPEER=true / VERIFYHOST=2 を既定とし、CA bundle を明示することで、 環境に CA が見つからず検証が失敗するのを防ぐ。Webhook / オンラインアップデートなど 他の外部通信からも facade 経由(Http::setCurlSsl)で共有する。
Parameters
- $ch : CurlHandle
setPostData()
set post data
public
setPostData([array<string|int, mixed> $data = [] ]) : self
Parameters
- $data : array<string|int, mixed> = []
Return values
selfsetRequestHeaders()
set request headers
public
setRequestHeaders([array<string|int, mixed> $headers = [] ]) : mixed
Parameters
- $headers : array<string|int, mixed> = []
shouldVerifyTls()
TLS 検証の有効可否を設定値から決める(純粋関数)。
public
static shouldVerifyTls(string $verifySetting) : bool
既定は有効。環境変数 HTTP_SSL_VERIFY を偽値(false / 0 / off 等)にしたときだけ 無効化する。本番/開発は区別せず、この設定値のみで判断する。env 依存を持たせず 単体テスト可能にするため、判定材料は引数で受け取る。
Parameters
- $verifySetting : string
-
HTTP_SSL_VERIFY の値('true' / 'false' / '1' / '0' 等)
Return values
bool —検証する場合 true
getHeadersFromCurlResponse()
get headers from curl response
protected
getHeadersFromCurlResponse(mixed $header_string) : array<string|int, mixed>
Parameters
- $header_string : mixed
Return values
array<string|int, mixed>setCurlOption()
protected
setCurlOption() : void