Skip to main content

HTTP (Client)

This section is dedicated to the library for working with the HTTP client. On this page, all the steps necessary to start working are described

Getting started

The HTTP module is designed to quickly create HTTP requests in 1C:Enterprise and OneScript using the fluent interface. Each request must be started by initializing the HTTP client in one of the following ways:

Common method (recommended)
    HTTPClient = OPI_HTTPRequests
.NewRequest()
.Initialize(URL)
Method for 1C only
    HTTPClient = DataProcessors.OPI_HTTPClient.Create().Initialize(URL);
Method for OneScript only
    HTTPClient = New OPI_HTTPClient;
HTTPClient.Initialize(URL);

The client can also be initialized without specifying a URL. See Initialization for details

Common procedure for creating a request

After client initialization, a new request can be described by any number of additional actions listed in the subsections of this documentation block


URL = "https://exemple.com/post";
Data = New Structure("Field1,Field2,Field3", 10, "Text", 20);

Result = OPI_HTTPRequests.NewRequest()
.Initialize(URL)
.SetJsonBody(Data)
.AddHeader("X-My-Header1", "Hello")
.AddHeader("X-My-Header2", "world")
.AddAWS4Authorization("***", "***", "***")
.ProcessRequest("POST")
.ReturnResponseAsJSONObject();

In general, to execute the request after the end of formation, the ProcessRequest(Method, Start = True) function is used or the same function with the Start = False attribute and calling the ExecuteRequest function separately. To receive the final response after processing the request, one of the functions from the Response receiving section is used, depending on the expected body format

Logging

During the client's operation, logging of its actions is performed. To retrieve the log, the GetLog function is used, which returns the recorded actions as either an array or a single string (depending on the value of the AsString parameter). Some functions from the Response receiving section may also return a log string within an exception when the ExceptionOnError parameter is specified (otherwise, in case of an error, the HTTP client object is returned, from which the log can be obtained manually).


URL = "https://exemple.com";
ParamsStructure = New Structure("param1,param2", "text", 10);

HTTPClient = OPI_HTTPRequests.NewRequest()
.Initialize(URL)
.SetURLParams(ParamsStructure)
.ProcessRequest("GET");

If Not HTTPClient.Error Then
Response = HTTPClient.ReturnResponseAsJSONObject();
Else
Response = HTTPClient.GetLog();
EndIf;

Error - an export field (Boolean type) that is set to True when a critical error occurs in the client