Skip to main content

Ens.Helper.Service.SyncResponseHandler.HTTP

abstract class Ens.Helper.Service.SyncResponseHandler.HTTP extends Ens.Helper.Service.SyncResponseHandler

Property Inventory

Method Inventory

Parameters

parameter DEFGWTIMEOUT = 60;
Default Web Gateway timeout
parameter TIMEOUTADJUSTMENT = 9;
Adjustment to response timeout. Set to 90% round down to avoid having same time as response timeout.

Properties

property GatewayTimeout as %String [ InitialExpression = "IRIS" ];
Declares the expected timeout in seconds of the external TCP socket system.
For incoming requests that come through an IRIS web application the expression 'IRIS' will make this service use the IRIS web gateway timeout value found in the request headers. Otherwise the default value will be 60 seconds.
The minimum of the calculation of 90% of GatewayTimeout and 90% of the specified ClientResponseTimeout is used to determine how long to wait for a delayed response process to complete to reduce the chance the current client connection is no longer available should the response become available and to also reduce the chance of the client disconnecting and retrying before invocation queued requests have recorded delayed cross reference information.
Property methods: GatewayTimeout(), GatewayTimeoutDisplayToLogical(), GatewayTimeoutGet(), GatewayTimeoutIsValid(), GatewayTimeoutLogicalToDisplay(), GatewayTimeoutLogicalToOdbc(), GatewayTimeoutNormalize(), GatewayTimeoutSet()

Methods

method GatewayTimeout() as %Integer
method OnHandleNoResponseYet() as %Status
This is called when we believe the original request is still being processed and we want to be able to handle caller not handling empty response. For HTTP we want to wait until this current client connection goes aways. Re-enable async detect. Close connection if believe going on too long.
method OnPopulateSendSyncHandling(pTargetDispatchName As %String, pRequest As %Library.Persistent, pSyncCallTimeout As %Numeric = -1, pDescription As %String = "", ByRef pSendSyncHandling As %String) as %Status
This is the protocol specific mechanism to identify if the client of the service has provided a unique key to identify the request and if the request is retry.
A client response wait timeout may also be provided.
If ResponseWaitTimeoutToUse is calculated to be 0 then delayed response with retry will not be supported.
method SetReturnStatusCode(pStatusGenericReason As %String, pStatusText As %String = "", ByRef pResponse) as %Status
Set HTTP Status code. Note the Client may not receive and this can be by design since if the response is outstanding and still being processed we want to avoid returning to the caller of SendRequestSync an error as callers code flow cannot be known.

Inherited Members

Inherited Properties

Inherited Methods

Subclasses

FeedbackOpens in a new tab