http

Содержит функции для взаимодействия с сетью

Функции

http(url, ...)http(url) - выполняет GET-запрос на указанный адрес url.

http(url, method) - выполняет запрос на указанный адрес url методом method (GET, POST, PUT, DELETE, PATCH, OPTIONS).

http(url, callback) - выполняет GET-запрос на указанный адрес url, ответ сервера передаёт в функцию callback.

http(url, method, params) - выполняет запрос на указанный адрес url, методом method c данными params (объект).

http(url, method, callback) - выполняет запрос на указанный адрес url, методом method, ответ сервера передаёт в функцию callback.

http(url, method, params, callback) - выполняет запрос на указанный адрес url, методом method, с данными params, ответ сервера передаёт в функцию callback.

http(url, method, params, options, callback) - выполняет запрос на указанный адрес url, методом method, с данными params, параметрами подключения options, ответ сервера передаёт в функцию callback.

Параметрами подключения выступает объект. Допустимы следующие параметры

  • header - задаёт http-заголовок, если передана строка или несколько заголовков, если массив.
  • encoded - указывает, что данные params уже закодированы в URL-формате.
  • content_type - указывает Content-Type.
  • extended_result - указывает, что ответ сервера нужно вернуть в расширенном виде, а именно объектом с данными:
    • text - текст ответа сервера
    • message - сообщение сервера
    • code - код ответа сервера
    • headers - http-заголовки ответа
    • content_length - Content-Length
    • content_type - Content-Type
use http
http("http://jsonplaceholder.typicode.com/users", "POST", {"name": "OwnLang", "versionCode": 10}, def(v) {
  println "Added: " + v
})

httpSync(url, method = "GET", requestParams = {}, options = {}) — Синхронная версия функции http. См. выше описание параметров.

use http
extract(isOk, content) = httpSync("http://jsonplaceholder.typicode.com/users", "POST", {"name": "OwnLang", "versionCode": 10})
if (isOk) {
  println "Added: " + content
} else {
  println "Failure"
}

download(url) — получает содержимое по указанному адресу в виде массива байт

use http, files
bytes = download("http://url")
f = fopen("file", "wb")
writeBytes(f, bytes)
flush(f)
fclose(f)

urlencode(str) — преобразует строку в URL-формат