Engee 文档

HTTP支持包

页面进行中。

子系统 恩吉。综合服务 为用户提供充当HTTP客户端的功能,以便通过REST API与外部服务进行通信。

function close_session(device::HttpType)::Nothing

取消先前创建的HTTP客户端的初始化。

参数

device::HttpType:HTTP的对象。Http()类型。

function delete(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponse

DELETE是REST API请求。 申报表 HTTPResponse -服务器响应包含的对象:

  • text_content:文本表示中的HTTP响应;

  • bytes_content:字节表示的HTTP响应;

  • elapsed:请求完成时间;

  • status_code:HTTP请求的状态代码。

服务器响应示例

Base.@kwdef struct HTTPResponse
text_content::Union{String, Nothing} = nothing
bytes_content::Union{Vector{UInt8}, Nothing} = nothing
elapsed::Union{HTTPTimedelta, Nothing} = nothing
status_code::Union{Int64, Nothing} = nothing
end

参数

  • device::HttpType:HTTP的对象。Http()类型。

  • endpoint::String:访问HTTP资源的端点。

  • request_data::HTTPRequestData:请求数据(一个HTTPRequestData对象)。

  • headers::Dict{String, String}:附加标题。 例如,设置连接标头和MIME类型请求:

julia-repl headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"

  • timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.

函数get(设备::HttpType,端点::String,request_data::HTTPRequestData,headers::Dict{String,String}=Dict(),超时::Union{Int64,Nothing}=nothing)::HTTPResponse

GET-запрос REST API. Возвращает HTTPResponse — объект с ответом сервера, содержащий:

  • text_content: HTTP-ответ в текстовом представлении;

  • bytes_content: HTTP-ответ в байтовом представлении;

  • elapsed: время выполнения запроса;

  • status_code: статус код HTTP-запроса.

Пример ответа сервера

基地。@kwdef结构HTTPResponse
text_content::Union{String,Nothing}=nothing
Bytes_content::Union{Vector{UInt8},Nothing}=nothing
经过::Union{HTTPTimedelta,Nothing}=nothing
status_code::Union{Int64,Nothing}=nothing
结束

Аргументы

  • device::HttpType: объект типа HTTP.Http().

  • endpoint::String: конечная точка для обращения к HTTP-ресурсу.

  • request_data::HTTPRequestData: объект типа HTTPRequestData.

  • headers::Dict{String, String}: дополнительные заголовки. Например, настройка заголовков соединения и MIME-type запросов:

julia-repl headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"

  • timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.

function init_session(device::HttpType,base_url::String="",auth::Union{Tuple{String},String,Nothing}=nothing,auth_type::String="bearer",headers::Dict{String,String}=Dict(),timeout::Int64=30,verify_ssl::Bool=true)::Bool

Инициализация HTTP клиента для общения с HTTP-сервером.

Аргументы

  • device::HttpType: объект типа HTTP.Http().

  • base_url::String: базовый URL для всех запросов.

  • auth::Union{Tuple{String}: данные для авторизации, либо кортеж (username, password), либо строка с токеном.

  • auth_type::String: тип аутентификации (basic, digest, или bearer).

  • headers::Dict{String, String}: заголовки по умолчанию для включения в каждый запрос.

  • timeout::Int64: таймаут ожидания ответа по умолчанию в секундах.

  • verify_ssl::Bool: верификация SSL сертификатов (true — включена, false — отключена).

函数patch(device::HttpType,endpoint::String,request_data::HTTPRequestData,headers::Dict{String,String}=Dict(),timeout::Union{Int64,Nothing}=nothing)::HTTPResponse

PATCH-запрос REST API. Возвращает HTTPResponse — объект с ответом сервера, содержащий:

  • text_content: HTTP-ответ в текстовом представлении;

  • bytes_content: HTTP-ответ в байтовом представлении;

  • elapsed: время выполнения запроса;

  • status_code: статус код HTTP-запроса.

Пример ответа сервера

基地。@kwdef结构HTTPResponse
text_content::Union{String,Nothing}=nothing
Bytes_content::Union{Vector{UInt8},Nothing}=nothing
经过::Union{HTTPTimedelta,Nothing}=nothing
status_code::Union{Int64,Nothing}=nothing
结束

参数

  • device::HttpType:HTTP的对象。Http()类型。

  • endpoint::String:访问HTTP资源的端点。

  • request_data::HTTPRequestData:一个HTTPRequestData对象。

  • headers::Dict{String, String}:附加标题。 例如,设置连接标头和MIME类型请求:

"朱莉娅-repl 标题=Dict{字符串,字符串}() 标题["连接"]="保持活力" 标头["接受"]="应用程序/json" `

  • timeout::Union{Int64, Nothing}:等待响应的超时(以秒为单位)。

函数post(device::HttpType,endpoint::String,request_data::HTTPRequestData,headers::Dict{String,String}=Dict(),timeout::Union{Int64,Nothing}=nothing)::HTTPResponse

POST-запрос REST API. Возвращает HTTPResponse — объект с ответом сервера, содержащий:

  • text_content: HTTP-ответ в текстовом представлении;

  • bytes_content: HTTP-ответ в байтовом представлении;

  • elapsed: время выполнения запроса;

  • status_code: статус код HTTP-запроса.

Пример ответа сервера

基地。@kwdef结构HTTPResponse
text_content::Union{String,Nothing}=nothing
Bytes_content::Union{Vector{UInt8},Nothing}=nothing
经过::Union{HTTPTimedelta,Nothing}=nothing
status_code::Union{Int64,Nothing}=nothing
结束

Аргументы

  • device::HttpType: объект типа HTTP.Http().

  • endpoint::String: конечная точка для обращения к HTTP-ресурсу.

  • request_data::HTTPRequestData: объект типа HTTPRequestData.

  • headers::Dict{String, String}: дополнительные заголовки. Например, настройка заголовков соединения и MIME-type запросов:

julia-repl headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"

  • timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.

函数put(device::HttpType,endpoint::String,request_data::HTTPRequestData,headers::Dict{String,String}=Dict(),timeout::Union{Int64,Nothing}=nothing)::HTTPResponse

PUT-запрос REST API. Возвращает HTTPResponse — объект с ответом сервера, содержащий:

  • text_content: HTTP-ответ в текстовом представлении;

  • bytes_content: HTTP-ответ в байтовом представлении;

  • elapsed: время выполнения запроса;

  • status_code: статус код HTTP-запроса.

Пример ответа сервера

基地。@kwdef结构HTTPResponse
text_content::Union{String,Nothing}=nothing
Bytes_content::Union{Vector{UInt8},Nothing}=nothing
经过::Union{HTTPTimedelta,Nothing}=nothing
status_code::Union{Int64,Nothing}=nothing
结束

Аргументы

  • device::HttpType: объект типа HTTP.Http().

  • endpoint::String: конечная точка для обращения к HTTP-ресурсу.

  • request_data::HTTPRequestData: объект типа HTTPRequestData.

  • headers::Dict{String, String}: дополнительные заголовки. Например, настройка заголовков соединения и MIME-type запросов:

julia-repl headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"

  • timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.

函数remove_header(device::HttpType,key::String)::Nothing

Функция для удаления указанного заголовков запроса из существующих заголовков.

Аргументы

  • device::HttpType: объект типа HTTP.Http().

  • key::String: ключ устанавливаемого заголовка запроса.

Удаляет заголовок из всех последующих запросов.

函数set_header(device::HttpType,key::String,value::String)::Nothing

用于将请求标头设置为已存在标头的函数。

参数

  • device::HttpType:HTTP的对象。Http()类型。

  • key::String:要设置的请求头的键。

Выставляет заголовок для всех последующих запросов.