Class: HttpProxy
Defined in: packages/core/src/http/HttpProxy.ts:63
Middleware proxy between HttpAgent implementations and the Fetch API, providing a Promise-oriented API for sending requests.
Constructors
new HttpProxy()
new HttpProxy(
transformer
,window
):HttpProxy
Defined in: packages/core/src/http/HttpProxy.ts:76
Initializes the HTTP proxy.
Parameters
transformer
A transformer of URLs to which requests are made.
window
Helper for manipulating the global object window
regardless of the client/server-side environment.
Returns
Properties
_defaultHeaders
protected
_defaultHeaders:Map
<string
,string
>
Defined in: packages/core/src/http/HttpProxy.ts:66
_transformer
protected
_transformer:UrlTransformer
Defined in: packages/core/src/http/HttpProxy.ts:64
_window
protected
_window:Window
Defined in: packages/core/src/http/HttpProxy.ts:65
Methods
_composeRequestInit()
_composeRequestInit(
method
,data
,options
):ImaRequestInit
Defined in: packages/core/src/http/HttpProxy.ts:459
Composes an init object, which can be used as a second argument of
window.fetch
method.
Parameters
method
string
The HTTP method to use.
data
The data to be send with a request.
undefined
| UnknownParameters
options
Options provided by the HTTP agent.
Returns
An ImaRequestInit
object (extended from RequestInit
of the Fetch API).
_composeRequestParams()
_composeRequestParams(
method
,url
,data
,options
):HttpProxyRequestParams
Defined in: packages/core/src/http/HttpProxy.ts:433
Composes an object representing the HTTP request parameters from the provided arguments.
Parameters
method
string
The HTTP method to use.
url
string
The URL to which the request should be sent.
data
The data to send with the request.
undefined
| UnknownParameters
options
Optional request options.
Returns
An object representing the complete request parameters used to create and send the HTTP request.
_composeRequestUrl()
_composeRequestUrl(
url
,data
):string
Defined in: packages/core/src/http/HttpProxy.ts:540
Transforms the provided URL using the current URL transformer and adds the provided data to the URL's query string.
Parameters
url
string
The URL to prepare for use with the fetch API.
data
The data to be attached to the query string.
undefined
| StringParameters
Returns
string
The transformed URL with the provided data attached to its query string.
_createError()
_createError(
cause
,requestParams
,status
,responseBody
):GenericError
Defined in: packages/core/src/http/HttpProxy.ts:401
Creates an error that represents a failed HTTP request.
Parameters
cause
The error's message.
Error
| GenericError
requestParams
An object representing the complete request parameters used to create and send the HTTP request.
status
number
Server's response HTTP status code.
responseBody
unknown
= null
The body of the server's response, if any.
Returns
The error representing a failed HTTP request.
_getContentType()
_getContentType(
method
,data
,headers
):null
|string
Defined in: packages/core/src/http/HttpProxy.ts:512
Gets a Content-Type
header value for defined method, data and options.
Parameters
method
string
The HTTP method to use.
data
The data to be send with a request.
undefined
| UnknownParameters
headers
Record
<string
, string
>
Returns
null
| string
A Content-Type
header value, null for requests
with no body.
_headersToPlainObject()
_headersToPlainObject(
headers
):StringParameters
Defined in: packages/core/src/http/HttpProxy.ts:355
Converts the provided Fetch API's Headers
object to a plain object.
Parameters
headers
Headers
The headers to convert.
Returns
Converted headers.
_processError()
_processError(
fetchError
,requestParams
):GenericError
Defined in: packages/core/src/http/HttpProxy.ts:375
Processes the provided Fetch API or internal error and creates an error to expose to the calling API.
Parameters
fetchError
The internal error to process.
Error
| GenericError
requestParams
An object representing the complete request parameters used to create and send the HTTP request.
Returns
The error to provide to the calling API.
_processResponse()
_processResponse<
B
>(requestParams
,response
,responseBody
):HttpAgentResponse
<B
>
Defined in: packages/core/src/http/HttpProxy.ts:326
Processes the response received from the server.
Type Parameters
• B
Parameters
requestParams
The original request's parameters.
response
Response
The Fetch API's Response
object representing
the server's response.
responseBody
B
The server's response body.
Returns
The server's response along with all related metadata.
_shouldRequestHaveBody()
_shouldRequestHaveBody(
method
,data
):boolean
Defined in: packages/core/src/http/HttpProxy.ts:561
Checks if a request should have a body (GET
and HEAD
requests don't
have a body).
Parameters
method
string
The HTTP method.
data
The data to be send with a request.
undefined
| UnknownParameters
Returns
boolean
true
if a request has a body, otherwise false
.
clearDefaultHeaders()
clearDefaultHeaders():
this
Defined in: packages/core/src/http/HttpProxy.ts:228
Clears all defaults headers sent with all requests.
Returns
this
this
getErrorParams()
getErrorParams<
B
>(method
,url
,data
,options
,status
,body
,cause
):HttpProxyErrorParams
<B
>
Defined in: packages/core/src/http/HttpProxy.ts:251
Gets an object that describes a failed HTTP request, providing information about both the failure reported by the server and how the request has been sent to the server.
Type Parameters
• B = unknown
Parameters
method
string
The HTTP method used to make the request.
url
string
The URL to which the request has been made.
data
The data sent with the request.
undefined
| UnknownParameters
options
Optional request options.
status
number
The HTTP response status code send by the server.
body
The body of HTTP error response (detailed information).
undefined
| B
cause
Error
The low-level cause error.
Returns
An object containing both the details of the error and the request that lead to it.
haveToSetCookiesManually()
haveToSetCookiesManually():
boolean
Defined in: packages/core/src/http/HttpProxy.ts:311
Returns true
if cookies have to be processed manually by setting
Cookie
HTTP header on requests and parsing the Set-Cookie
HTTP
response header.
The result of this method depends on the current application
environment, the client-side usually handles cookie processing
automatically, leading this method returning false
.
At the client-side, the method tests whether the client has cookies
enabled (which results in cookies being automatically processed by the
browser), and returns true
or false
accordingly.
true
if cookies are not processed automatically by
the environment and have to be handled manually by parsing
response headers and setting request headers, otherwise false
.
Returns
boolean
request()
request<
B
>(method
,url
,data
,options
):Promise
<HttpAgentResponse
<B
>>
Defined in: packages/core/src/http/HttpProxy.ts:109
Executes a HTTP request to the specified URL using the specified HTTP method, carrying the provided data.
Type Parameters
• B
Parameters
method
string
The HTTP method to use.
url
string
The URL to which the request should be made.
data
The data to
be send to the server. The data will be included as query
parameters if the request method is GET
or HEAD
, and as
a request body for any other request method.
undefined
| UnknownParameters
options
Optional request options.
Returns
Promise
<HttpAgentResponse
<B
>>
A promise that resolves to the server response.
setDefaultHeader()
setDefaultHeader(
header
,value
):this
Defined in: packages/core/src/http/HttpProxy.ts:217
Sets the specified default HTTP header. The header will be sent with all subsequent HTTP requests unless reconfigured using this method, overridden by request options, or cleared by HttpProxy#clearDefaultHeaders method.
Parameters
header
string
A header name.
value
string
A header value.
Returns
this
this