Durable Workflow PHP SDK — API Reference

Guides

RuntimePayloadUploads
in package

FinalYes

Namespace-scoped discovery and request-local, content-addressed uploads.

Tags
phpstan-type

PayloadSlot array{path: list<int|string>, blob: string}

UploadPolicy array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}

UploadRequest array{headers: array<string, string>, path: string, worker: bool, budget: RequestBudget|null}

Table of Contents

Constants

COMMAND_FIELDS  : array<string, array<int, string>> = ['complete_workflow' => ['result'], 'schedule_a...
COMPLETION_HEADER  : mixed = 'X-Durable-Workflow-Payload-Completion'
COMPLETION_SCHEMA  : mixed = 'durable-workflow.v2.payload-completion-context...
PREPARED_COMPLETION_SCHEMA  : mixed = 'durable-workflow.v2.payload-completion-context...

Properties

$baseUri  : string
$policies  : array<int, array{expires: int, policy: array}>
$transport  : Transport

Methods

__construct()  : mixed
request()  : array<string, mixed>
completionContext()  : string|null
contextIdentifier()  : bool
failureMetadata()  : array<string, mixed>
Bound diagnostic text against complete metadata before planning ordinary uploads.
get()  : mixed
jsonSize()  : int
paths()  : array<int, array<int, int|string>>
payloadBlob()  : string|null
payloads()  : array<int, array{path: list, blob: string}>
placeholder()  : array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}
plan()  : array<int, array<string, mixed>>
policy()  : array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}
put()  : void
replace()  : void
requestPolicy()  : UploadPolicy
sendWithCompletionFallback()  : array<string, mixed>
uploadBlob()  : array<string, mixed>
uploadReference()  : array<string, mixed>
uploadSelected()  : array<string, mixed>
validateUploadReference()  : array<string, mixed>

Constants

COMMAND_FIELDS

public array<string, array<int, string>> COMMAND_FIELDS = ['complete_workflow' => ['result'], 'schedule_activity' => ['arguments'], 'start_child_workflow' => ['arguments'], 'continue_as_new' => ['arguments'], 'complete_update' => ['result'], 'record_side_effect' => ['result'], 'record_local_activity' => ['arguments', 'result'], 'prepare_local_activity' => ['arguments'], 'start_service_operation' => ['request_payload'], 'upsert_memo' => ['entries']]

COMPLETION_SCHEMA

private mixed COMPLETION_SCHEMA = 'durable-workflow.v2.payload-completion-context.v1'

PREPARED_COMPLETION_SCHEMA

private mixed PREPARED_COMPLETION_SCHEMA = 'durable-workflow.v2.payload-completion-context.v2'

Properties

Methods

request()

public request(array<string, mixed> $body, string $method, string $path, bool $worker, array<string, string> $headers[, RequestBudget|null $budget = null ][, FailureReportLimiter|null $failureReports = null ]) : array<string, mixed>
Parameters
$body : array<string, mixed>
$method : string
$path : string
$worker : bool
$headers : array<string, string>
$budget : RequestBudget|null = null
$failureReports : FailureReportLimiter|null = null
Return values
array<string, mixed>

completionContext()

private completionContext(array<string, mixed> $body, string $path, array<int, int|string> $slot, bool $prepared, bool $scope) : string|null
Parameters
$body : array<string, mixed>
$path : string
$slot : array<int, int|string>
$prepared : bool
$scope : bool
Return values
string|null

contextIdentifier()

private static contextIdentifier(mixed $value) : bool
Parameters
$value : mixed
Return values
bool

failureMetadata()

Bound diagnostic text against complete metadata before planning ordinary uploads.

private failureMetadata(array<string, mixed> $body, array<int, array{path: list, blob: string}> $payloads, string $path, FailureReportLimiter $reports) : array<string, mixed>
Parameters
$body : array<string, mixed>
$payloads : array<int, array{path: list, blob: string}>
$path : string
$reports : FailureReportLimiter
Return values
array<string, mixed>

get()

private get(mixed $value, array<int, int|string> $segments) : mixed
Parameters
$value : mixed
$segments : array<int, int|string>

paths()

private paths(array<string, mixed> $body, string $path, bool $worker) : array<int, array<int, int|string>>
Parameters
$body : array<string, mixed>
$path : string
$worker : bool
Return values
array<int, array<int, int|string>>

payloadBlob()

private payloadBlob(mixed $value) : string|null
Parameters
$value : mixed
Return values
string|null

payloads()

private payloads(array<string, mixed> $body, array<int, array<int, int|string>> $slots) : array<int, array{path: list, blob: string}>
Parameters
$body : array<string, mixed>
$slots : array<int, array<int, int|string>>
Return values
array<int, array{path: list, blob: string}>

placeholder()

private placeholder(array<string, mixed> &$body, array{path: list, blob: string} $payload) : array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}
Parameters
$body : array<string, mixed>
$payload : array{path: list, blob: string}
Return values
array{schema: string, reference_id: string, codec: string, size_bytes: int, sha256: string}

plan()

private plan(array<string, mixed> &$body, array<int, PayloadSlot> &$payloads, UploadPolicy $policy) : array<int, array<string, mixed>>
Parameters
$body : array<string, mixed>
$payloads : array<int, PayloadSlot>
$policy : UploadPolicy
Return values
array<int, array<string, mixed>>

policy()

private policy(array<string, string> $headers, bool $worker[, RequestBudget|null $budget = null ]) : array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}
Parameters
$headers : array<string, string>
$worker : bool
$budget : RequestBudget|null = null
Return values
array{threshold_bytes: int, max_bytes: int, request_bytes: int, timeout_seconds: int, status: string, completion_context?: bool, prepared_completion_context?: bool, scope_completion_context?: bool}

put()

private put(array<string, mixed> &$body, array<int, int|string> $segments, mixed $value) : void
Parameters
$body : array<string, mixed>
$segments : array<int, int|string>
$value : mixed

replace()

private replace(array<string, mixed> &$body, array<int, int|string> $segments, array<string, mixed> $reference) : void
Parameters
$body : array<string, mixed>
$segments : array<int, int|string>
$reference : array<string, mixed>

requestPolicy()

private requestPolicy(array<string, mixed> $body, string $path, bool $worker, array<string, string> $headers, RequestBudget|null $budget) : UploadPolicy
Parameters
$body : array<string, mixed>
$path : string
$worker : bool
$headers : array<string, string>
$budget : RequestBudget|null
Return values
UploadPolicy

sendWithCompletionFallback()

private sendWithCompletionFallback(array<string, mixed> $body, PayloadSlot $payload, array<string, string> $headers, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
$body : array<string, mixed>
$payload : PayloadSlot
$headers : array<string, string>
$policy : UploadPolicy
$request : UploadRequest
Return values
array<string, mixed>

uploadBlob()

private uploadBlob(array<string, string> $uploadHeaders, string $blob, UploadPolicy $policy, RequestBudget|null $budget) : array<string, mixed>
Parameters
$uploadHeaders : array<string, string>
$blob : string
$policy : UploadPolicy
$budget : RequestBudget|null
Return values
array<string, mixed>

uploadReference()

private uploadReference(array<string, mixed> $body, PayloadSlot $payload, array<string, mixed> $expected, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
$body : array<string, mixed>
$payload : PayloadSlot
$expected : array<string, mixed>
$policy : UploadPolicy
$request : UploadRequest
Return values
array<string, mixed>

uploadSelected()

private uploadSelected(array<string, mixed> $body, array<int, PayloadSlot> $payloads, array<int, array<string, mixed>> $selected, UploadPolicy $policy, UploadRequest $request) : array<string, mixed>
Parameters
$body : array<string, mixed>
$payloads : array<int, PayloadSlot>
$selected : array<int, array<string, mixed>>
$policy : UploadPolicy
$request : UploadRequest
Return values
array<string, mixed>

validateUploadReference()

private validateUploadReference(array<string, mixed> $response, string $blob, array<string, mixed> $expected) : array<string, mixed>
Parameters
$response : array<string, mixed>
$blob : string
$expected : array<string, mixed>
Return values
array<string, mixed>
On this page

Search results