Пакет поддержки HTTP
| Страница в процессе разработки. | 
Подсистема Engee.Интеграции предоставляет пользователю возможность выступать в качестве HTTP-клиента для общения с внешними сервисами через REST API.
#
Main.EngeeDeviceManager.Devices.HTTP.Http — Type
#
Main.EngeeDeviceManager.Devices.HTTP.close_session — Method
function close_session(device::HttpType)::NothingДеинициализация ранее созданного HTTP клиента.
Аргументы
device::HttpType: объект типа HTTP.Http().
#
Main.EngeeDeviceManager.Devices.HTTP.close_session — Method
#
Main.EngeeDeviceManager.Devices.HTTP.delete — Function
function delete(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponseDELETE-запрос 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-type запросов:headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"
- 
timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.
#
Main.EngeeDeviceManager.Devices.HTTP.get — Function
function get(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponseGET-запрос 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-type запросов:headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"
- 
timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.
#
Main.EngeeDeviceManager.Devices.HTTP.init_session — Function
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— отключена).
#
Main.EngeeDeviceManager.Devices.HTTP.patch — Function
function patch(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponsePATCH-запрос 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-type запросов:headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"
- 
timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.
#
Main.EngeeDeviceManager.Devices.HTTP.post — Function
function post(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponsePOST-запрос 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-type запросов:headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"
- 
timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.
#
Main.EngeeDeviceManager.Devices.HTTP.put — Function
function put(device::HttpType, endpoint::String, request_data::HTTPRequestData, headers::Dict{String, String}=Dict(), timeout::Union{Int64, Nothing}=nothing)::HTTPResponsePUT-запрос 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-type запросов:headers = Dict{String, String}() headers["connection"] = "keep-alive" headers["Accept"] = "application/json"
- 
timeout::Union{Int64, Nothing}: таймаут на ожидание ответа в секундах.
#
Main.EngeeDeviceManager.Devices.HTTP.remove_header — Method
function remove_header(device::HttpType, key::String)::NothingФункция для удаления указанного заголовков запроса из существующих заголовков.
Аргументы
- 
device::HttpType: объект типа HTTP.Http().
- 
key::String: ключ устанавливаемого заголовка запроса.
#
Main.EngeeDeviceManager.Devices.HTTP.remove_header — Method
Удаляет заголовок из всех последующих запросов.
#
Main.EngeeDeviceManager.Devices.HTTP.set_header — Method
function set_header(device::HttpType, key::String, value::String)::NothingФункция для установки заголовков запроса к уже существующим заголовкам.
Аргументы
- 
device::HttpType: объект типа HTTP.Http().
- 
key::String: ключ устанавливаемого заголовка запроса.
#
Main.EngeeDeviceManager.Devices.HTTP.set_header — Method
Выставляет заголовок для всех последующих запросов.