Clients - http : HttpClient

Provides the HTTP actions for interacting with an HTTP server. Apart from the standard HTTP methods, HttpClient.forward() and HttpClient.execute() functions are provided. More complex and specific endpoint types can be created by wrapping this generic HTTP actions implementation.

Constructor

__init

(string url, ClientConfiguration? config)

  • url string
  • URL of the target service

Remote Methods

post The HttpClient.post() function can be used to send HTTP POST requests to HTTP endpoints.
head The HttpClient.head() function can be used to send HTTP HEAD requests to HTTP endpoints.
put The HttpClient.put() function can be used to send HTTP PUT requests to HTTP endpoints.
execute Invokes an HTTP call with the specified HTTP verb.
patch The HttpClient.patch() function can be used to send HTTP PATCH requests to HTTP endpoints.
delete The HttpClient.delete() function can be used to send HTTP DELETE requests to HTTP endpoints.
get The HttpClient.get() function can be used to send HTTP GET requests to HTTP endpoints.
options The HttpClient.options() function can be used to send HTTP OPTIONS requests to HTTP endpoints.
forward The HttpClient.forward() function can be used to invoke an HTTP call with inbound request's HTTP verb
submit Submits an HTTP request to a service with the specified HTTP verb. The HttpClient->submit() function does not give out an http:Response as the result. Rather, it returns an http:HttpFuture which can be used to do further interactions with the endpoint.
getResponse Retrieves the http:Response for a previously-submitted request.
hasPromise Checks whether an http:PushPromise exists for a previously-submitted request.
getNextPromise Retrieves the next available http:PushPromise for a previously-submitted request.
getPromisedResponse Retrieves the promised server push http:Response message.
rejectPromise Rejects an http:PushPromise. When an http:PushPromise is rejected, there is no chance of fetching a promised response using the rejected promise.

Fields

  • url string
  • The URL of the remote HTTP endpoint

post

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.post() function can be used to send HTTP POST requests to HTTP endpoints.

Parameters

  • path string
  • Resource path

  • message RequestMessage
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • The response for the request or an http:ClientError if failed to establish communication with the upstream server

The HttpClient.head() function can be used to send HTTP HEAD requests to HTTP endpoints.

Parameters

  • path string
  • Resource path

  • message RequestMessage (default ())
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

put

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.put() function can be used to send HTTP PUT requests to HTTP endpoints.

Parameters

  • path string
  • Resource path

  • message RequestMessage
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

execute

(string httpVerb, string path, RequestMessage message)

returns Response | ClientError

Invokes an HTTP call with the specified HTTP verb.

Parameters

  • httpVerb string
  • HTTP verb value

  • path string
  • Resource path

  • message RequestMessage
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

patch

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.patch() function can be used to send HTTP PATCH requests to HTTP endpoints.

Parameters

  • path string
  • Resource path

  • message RequestMessage
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • The response for the request or else an http:ClientError if failed to establish communication with the upstream server

delete

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.delete() function can be used to send HTTP DELETE requests to HTTP endpoints.

Parameters

  • path string
  • Resource path

  • message RequestMessage (default ())
  • An optional HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

get

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.get() function can be used to send HTTP GET requests to HTTP endpoints.

Parameters

  • path string
  • Request path

  • message RequestMessage (default ())
  • An optional HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

options

(string path, RequestMessage message)

returns Response | ClientError

The HttpClient.options() function can be used to send HTTP OPTIONS requests to HTTP endpoints.

Parameters

  • path string
  • Request path

  • message RequestMessage (default ())
  • An optional HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (Response | ClientError)
  • The response for the request or else an http:ClientError if failed to establish communication with the upstream server

forward

(string path, Request request)

returns Response | ClientError

The HttpClient.forward() function can be used to invoke an HTTP call with inbound request's HTTP verb

Parameters

  • path string
  • Request path

  • request Request
  • An HTTP inbound request message

  • Return Type

    (Response | ClientError)
  • An http:Response for the request or else an http:ClientError if failed to establish communication with the upstream server

submit

(string httpVerb, string path, RequestMessage message)

returns HttpFuture | ClientError

Submits an HTTP request to a service with the specified HTTP verb. The HttpClient->submit() function does not give out an http:Response as the result. Rather, it returns an http:HttpFuture which can be used to do further interactions with the endpoint.

Parameters

  • httpVerb string
  • The HTTP verb value

  • path string
  • The resource path

  • message RequestMessage
  • An HTTP outbound request message or any payload of type string, xml, json, byte[], io:ReadableByteChannel or mime:Entity[]

  • Return Type

    (HttpFuture | ClientError)
  • An http:HttpFuture that represents an asynchronous service invocation, or else an http:ClientError if the submission fails

getResponse

(HttpFuture httpFuture)

returns Response | ClientError

Retrieves the http:Response for a previously-submitted request.

Parameters

  • httpFuture HttpFuture
  • The http:HttpFuture related to a previous asynchronous invocation

  • Return Type

    (Response | ClientError)
  • An http:Response message or else an http:ClientError if the invocation fails

hasPromise

(HttpFuture httpFuture)

returns boolean

Checks whether an http:PushPromise exists for a previously-submitted request.

Parameters

  • httpFuture HttpFuture
  • The http:HttpFuture related to a previous asynchronous invocation

  • Return Type

    (boolean)
  • A boolean, which represents whether an http:PushPromise exists

getNextPromise

(HttpFuture httpFuture)

returns PushPromise | ClientError

Retrieves the next available http:PushPromise for a previously-submitted request.

Parameters

  • httpFuture HttpFuture
  • The http:HttpFuture related to a previous asynchronous invocation

  • Return Type

    (PushPromise | ClientError)
  • An http:PushPromise message or else an http:ClientError if the invocation fails

getPromisedResponse

(PushPromise promise)

returns Response | ClientError

Retrieves the promised server push http:Response message.

Parameters

  • Return Type

    (Response | ClientError)
  • A promised http:Response message or else an http:ClientError if the invocation fails

rejectPromise

Rejects an http:PushPromise. When an http:PushPromise is rejected, there is no chance of fetching a promised response using the rejected promise.

Parameters