Все интерфейсы этого раздела, кроме ObjectOfStringArray, находятся в пространстве имён Http.
interface HttpManager {
requestBuilder(): RequestBuilder;
urlEncode(value: string): string | boolean;
urlDecode(value: string): string | boolean;
base64Encode(value: string): string | boolean;
base64Decode(value: string): string | boolean;
}Коннектор для подключения к серверу по протоколу HTTP.
requestBuilder(): RequestBuilder;Возвращает объект RequestBuilder построения запроса.
urlEncode(value: string): string | boolean;Возвращает строку value, закодированную в соответствии с правилами кодировки URL, или false если передана не строка.
urlDecode(value: string): string | boolean;Возвращает строку value, раскодированную в соответствии с правилами кодировки URL, или false если передана не строка.
base64Encode(value: string): string | boolean;Возвращает строку value, закодированную по схеме base64, или false если передана не строка.
base64Decode(value: string): string | boolean;Возвращает строку value, раскодированную по схеме base64, или false в случае ошибки.
interface Params {
getAll(): Object;
setAll(pairs: Object): boolean;
get(name: string): any;
set(name: string, value: any): boolean;
del(name: string): boolean;
has(name: string): boolean;
clear(): boolean;
}Интерфейс, представляющий набор параметров и их значений.
getAll(): Object;Возвращает все параметры в виде Object.
setAll(pairs: Object): boolean;Не работает.
get(name: string): any;Возвращает значение параметра name.
set(name: string, value: any): boolean;Устанавливает значение параметра name. Возвращает true.
del(name: string): boolean;Удаляет параметр name. Возвращает true.
has(name: string): boolean;Возвращает признак наличия параметра name.
clear(): boolean;Удаляет все параметры. Возвращает true.
interface UrlParams extends Params {
stringify(): string;
setEncodingType(type: string): this;
getEncodingType(): string;
}Интерфейс, представляющий набор параметров и их значений для передачи их в Url. Наследуется от интерфейса Params.
stringify(): string;Возвращает строковое представление значений параметров вида paramOne=5¶mTwo=hello¶mThree=world.
setEncodingType(type: string): this;Устанавливает стандарт кодировки параметров URL. Допустимые значения: NONE, RFC1738, RFC3986. Значение по умолчанию: RFC1738. Возвращает this.
getEncodingType(): string;Возвращает стандарт кодировки параметров URL.
interface JsonRequestBody {
setJson(value: string | Object): boolean;
}Интерфейс генерации тела запроса для отправки в нём JSON.
setJson(value: string | Object): boolean;Устанавливает в тело запроса переданный JSON. Если передаётся строка, она предварительно конвертируется в JSON с помощью JSON.parse(). Возвращает true. Передача в функцию value типа Object работает некорректно.
interface StringRequestBody {
setBody(value: string): boolean;
}Интерфейс генерации тела запроса для отправки в нём строки.
setBody(value: string): boolean;Устанавливает переданную строку в тело запроса. Возвращает true.
interface FormRequestBody {
params(): Params;
appendFile(fieldName: string, fileName: string, filePath: string): this;
}Интерфейс генерации тела запроса для отправки в нём параметров формы.
params(): Params;Возвращает объект Params для установки значений параметров.
appendFile(fieldName: string, fileName: string, filePath: string): this;Устанавливает заголовок Content-Type на multipart/form-data, что позволяет передавать бинарные данные (прикреплять к запросу файлы). Прикрепляет к запросу файл, расположенный по пути filePath локальной файловой системы скрипта. В заголовке Content-Disposition устанавливает значение параметра name как fieldName, параметра filename — fileName. Возвращает this.
interface FileRequestBody {
appendFile(filePath: string): this;
}Интерфейс генерации тела запроса для отправки в нём файла.
appendFile(filePath: string): this;Прикрепляет к запросу файл, расположенный по пути filePath локальной файловой системы скрипта. Возвращает this.
interface RequestBody {
jsonBody(): JsonRequestBody;
stringBody(): StringRequestBody;
formBody(): FormRequestBody;
fileBody(): FileRequestBody;
}Интерфейс генерации тела запроса POST. Все функции перезаписывают тело запроса до отправки, поэтому следует выбрать одну из них.
jsonBody(): JsonRequestBody;Устанавливает значение заголовка HTTP Content-Type: application/json, возвращает интерфейс JsonRequestBody для отправки JSON в теле запроса.
stringBody(): StringRequestBody;Не устанавливает заголовок HTTP Content-Type, возвращает интерфейс StringRequestBody для отправки строки в теле запроса.
formBody(): FormRequestBody;Устанавливает значение заголовка HTTP Content-Type: application/x-www-form-urlencoded, возвращает интерфейс FormRequestBody для отправки формы в теле запроса.
fileBody(): FileRequestBody;Не устанавливает заголовок HTTP Content-Type, возвращает интерфейс FileRequestBody для отправки файла в теле запроса.
interface Url {
setUrl(url: string): boolean;
getUrl(): string;
setUrlPath(path: string): boolean;
getUrlPath(): string;
setUrlScheme(scheme: string): boolean;
getUrlScheme(): string;
setHost(host: string): boolean;
getHost(): string;
setPort(port: number | string): boolean;
getPort(): number | null;
setUser(user: string): boolean;
getUser(): string | null;
setPassword(password: string): boolean;
getPassword(): string | null;
setFragment(fragment: string): boolean;
getFragment(): string | null;
params(): UrlParams;
}Интерфейс построения URL.
setUrl(url: string): boolean;Устанавливает URL целиком. Возвращает true.
getUrl(): string;Возвращает URL.
setUrlPath(path: string): boolean;Устанавливает путь на сервере. Значение по умолчанию: '\'. Возвращает true.
getUrlPath(): string;Возвращает путь на сервере.
setUrlScheme(scheme: string): boolean;Устанавливает схему URL (протокол). Значение по умолчанию: 'http'. Возвращает true.
getUrlScheme(): string;Возвращает схему URL (протокол).
setHost(host: string): boolean;Устанавливает имя или адрес хоста. Значение по умолчанию: ''. Возвращает true.
getHost(): string;Возвращает имя или адрес хоста, установленное в URL.
setPort(port: number | string): boolean;Устанавливает номер порта. Возвращает true.
getPort(): number | null;Возвращает номер порта или null, если он не установлен.
setUser(user: string): boolean;Устанавливает имя пользователя. Возвращает true.
getUser(): string | null;Возвращает имя пользователя или null, если оно не установлено.
setPassword(password: string): boolean;Устанавливает пароль. Возвращает true.
getPassword(): string | null;Возвращает пароль или null, если он не установлен.
setFragment(fragment: string): boolean;Устанавливает идентификатор якоря. Возвращает true.
getFragment(): string | null;Возвращает идентификатор якоря или null, если он не установлен.
params(): UrlParams;Возвращает интерфейс доступа UrlParams к параметрам URL.
interface AllowRedirects {
setStatus(status: boolean): boolean;
getStatus(): boolean;
setMax(max: number): boolean;
getMax(): number;
setStrict(strict: boolean): boolean;
getStrict(): boolean;
setWithReferer(withReferer: boolean): boolean;
getWithReferer(): boolean;
setProtocols(protocols: string[]): boolean;
getProtocols(): string[];
}Интерфейс настроек разрешения перенаправления HTTP-запросов.
setStatus(status: boolean): boolean;Устанавливает флаг разрешения перенаправлений HTTP-запросов. Значение по умолчанию: true. Возвращает true.
getStatus(): boolean;Возвращает флаг разрешения перенаправлений HTTP-запросов.
setMax(max: number): boolean;Устанавливает максимальное количество перенаправлений. Значение по умолчанию: 5. Возвращает true.
getMax(): number;Возвращает максимальное количество перенаправлений.
setStrict(strict: boolean): boolean;Не реализовано.
getStrict(): boolean;Не реализовано.
setWithReferer(withReferer: boolean): boolean;Устанавливает флаг передачи HTTP referer в заголовке запроса. Значение по умолчанию: false. Возвращает true.
getWithReferer(): boolean;Возвращает флаг передачи HTTP referer в заголовке запроса.
setProtocols(protocols: string[]): boolean;Устанавливает список протоколов, для которых разрешены перенаправления. Значение по умолчанию: ['http', 'https']. Возвращает true.
getProtocols(): string[];Возвращает список протоколов, для которых разрешены перенаправления.
interface HttpAuth {
setUser(user: string): this;
setPassword(password: string): this;
setType(type: string): this;
setStatus(status: boolean): this;
}Интерфейс, реализующий шаблон проектирования строитель, для настроек аутентификации HTTP. Все функции возвращают this.
setUser(user: string): this;Устанавливает имя пользователя.
setPassword(password: string): this;Устанавливает пароль.
setType(type: string): this;Устанавливает тип аутентификации. Допустимые значения: basic, digest, ntlm.
setStatus(status: boolean): this;Устанавливает флаг аутентификации HTTP. Значение по умолчанию: false.
interface Cert {
setPath(path: string): this;
getPath(path: string): string;
setPassphrase(passphrase: string): this;
}Интерфейс настройки сертификата аутентификации HTTP. Не реализован.
setPath(path: string): this;Устанавливает путь к файлу сертификата. Возвращает this.
getPath(path: string): string;Возвращает путь к файлу сертификата.
setPassphrase(passphrase: string): this;Устанавливает парольную фразу. Возвращает this.
interface Verify {
setStatus(value: boolean): boolean;
setPath(path: string): boolean;
}Интерфейс верификации сертификатов SSL.
setStatus(value: boolean): boolean;Устанавливает признак верификации сертификата SSL. Значение по умолчанию: true. Возвращает true.
setPath(path: string): boolean;Не реализовано.
interface Options {
setConnTimeout(seconds: number): boolean;
getConnTimeout(): number;
setReqTimeout(seconds: number): boolean;
getReqTimeout(): number;
setCanDecodeContent(value: boolean): boolean;
getCanDecodeContent(): boolean;
allowRedirects(): AllowRedirects;
auth(): HttpAuth;
cert(): Cert;
verify(): Verify;
}Интерфейс настройки опций соединения.
setConnTimeout(seconds: number): boolean;Устанавливает тайм-аут соединения в секундах. Значение по умолчанию: 10, максимальное значение: 30. Возвращает true.
getConnTimeout(): number;Возвращает тайм-аут соединения.
setReqTimeout(seconds: number): boolean;Устанавливает тайм-аут ожидания ответа в секундах. Значение по умолчанию: 30, максимальное значение: 21600 (6 часов). Возвращает true.
getReqTimeout(): number;Возвращает тайм-аут ожидания ответа.
setCanDecodeContent(value: boolean): boolean;Устанавливает признак распаковки тела ответа сервера. В случае true архивированное тело ответа будет деархивироваться, в случае false – нет. Значение по умолчанию: true. Возвращает true.
getCanDecodeContent(): boolean;Возвращает признак распаковки тела ответа сервера.
allowRedirects(): AllowRedirects;Возвращает интерфейс AllowRedirects доступа к настройкам перенаправлений HTTP.
auth(): HttpAuth;Возвращает интерфейс HttpAuth доступа к настройкам аутентификации HTTP.
cert(): Cert;Возвращает интерфейс Cert для настройки аутентификации по сертификату. Не реализовано.
verify(): Verify;Возвращает интерфейс Verify проверки сертификатов SSL.
interface DownloadFileParams {
setPath(path: string): this;
}Интерфейс для указания настроек скачивания файлов.
setPath(path: string): this;Устанавливает путь в локальной директории скриптов, по которому будет сохранён скачиваемый файл. Файл будет загружен по данному пути после отправки запроса. По умолчанию параметр пути не задан - файл скачиваться не будет. Возвращает this.
interface SizeLimitParams {
setContentLengthLimit(lengthInBytes: number): this;
}Интерфейс для указания лимита размера получаемого контента в ответе на запрос.
setContentLengthLimit(lengthInBytes: number): this;Устанавливает лимит получаемого контента в байтах. Если передать в аргумент lengthInBytes - 0 (числовой ноль), то проверка не будет происходить. Значение по умолчанию - 0. Возвращает this.
interface RequestBuilder {
url(): Url;
setMethod(type: string): boolean;
getMethod(): string;
body(): RequestBody;
options(): Options;
cookies(): Params;
headers(): Params;
downloadFileParams(): DownloadFileParams;
sizeLimitParams(): SizeLimitParams;
send(): Response;
}Интерфейс, реализующий шаблон проектирования строитель, для настройки и отправки запроса по протоколу HTTP.
url(): Url;Возвращает объект Url построения URL.
setMethod(type: string): boolean;Устанавливает метод HTTP . Доступные значения: GET, POST, DELETE, PUT, HEAD, OPTIONS. Значение по умолчанию: GET. Возвращает true.
getMethod(): string;Возвращает метод HTTP .
body(): RequestBody;Возвращает интерфейс RequestBody формирования тела запроса.
options(): Options;Возвращает интерфейс Options настройки опций соединения.
cookies(): Params;Возвращает интерфейс Params для доступа к cookies.
headers(): Params;Возвращает интерфейс Params для формирования HTTP-заголовков запроса.
downloadFileParams(): DownloadFileParams;Возвращает интерфейс DownloadFileParams для указания настроек скачивания файлов.
sizeLimitParams(): SizeLimitParams;Возвращает интерфейс SizeLimitParams для указания лимита размера получаемого контента в ответе на запрос.
send(): Response;Отправляет HTTP-запрос, дожидается ответа и возвращает интерфейс Response доступа к данным ответа сервера.
type ObjectOfStringArray = {
[key: string]: string[];
}Специализированный тип объекта, в котором значения могут быть только списками строк.
interface Response {
headers(): ObjectOfStringArray;
getStringData(length?: number, catchEof?: boolean): string;
getStringDataLikeJson(): Object | boolean;
getStringDataGenerator(length?: number): string[];
getBinaryDataGenerator(length?: number): string[];
getStatusCode(): number;
isOk(): boolean;
getErrors(): ResponseErrors | null;
}Интерфейс ответа HTTP-сервера. Является ленивым. Предоставленные функции чтения данных ответа: getStringData(), getStringDataLikeJson(), getStringDataGenerator(), getBinaryDataGenerator() — фактически берут данные из одного источника, и не рекомендуется их комбинировать.
headers(): ObjectOfStringArray;Возвращает заголовки ответа в виде ObjectOfStringArray.
getStringData(length?: number, catchEof?: boolean): string;Возвращает данные ответа. Размер данных ограничен лимитом в length байт. Параметр length может принимать значения от 1 байта до 100 Мбайт = 100 * 220 байт; значение по умолчанию: 100 Мбайт. Если размер данных превышает лимит и catchEof === true, выбрасывается исключение. Значение catchEof по умолчанию: true.
getStringDataLikeJson(): Object | boolean;Получает первые length байт тела ответа, прогоняет их через функцию JSON.parse() и возвращает её результат или false в случае ошибки. Величина length – значение по умолчанию аналогичного параметра функции getStringData().
getStringDataGenerator(length?: number): string[];Возвращает генератор, при каждом обращении возвращающий данные от сервера в виде строки размером около length байт. Параметр length может принимать значения от 1 байта до 1 Мбайта = 220 байт; значение по умолчанию: 1 Мбайт. Несмотря на то, что размер данных задаётся в байтах, строки хранятся в кодировке UTF-8, и если последний многобайтовый символ возвращаемого куска данных не полностью помещается в заданный лимит, строка не будет обрезана на середине символа. Вместо этого генератор обрежет строку точно между символами UTF-8 и вернёт результат размером чуть менее length байт. При следующем обращении к генератору указанный символ будет первым символом возвращаемой строки, чья длина теперь может быть чуть больше length байт.
getBinaryDataGenerator(length?: number): string[];Возвращает генератор, при каждом обращении возвращающий данные от сервера в виде строки размером ровно length байт. Параметр length может принимать значения от 1 байта до 1 Мбайта = 220 байт; значение по умолчанию: 1 Мбайт.
getStatusCode(): number;Возвращает код состояния HTTP.
isOk(): boolean;Возвращает признак того, что код состояния HTTP успешный, то есть getStatusCode() === 200.
getErrors(): ResponseErrors | null;Возвращает интерфейс ResponseErrors доступа к ошибкам HTTP или null, если их нет.
interface ResponseErrors {
getCode(): number;
getMessage(): string;
}Интерфейс доступа к ошибке транспортного уровня HTTP.
getCode(): number;Возвращает код ошибки.
getMessage(): string;Возвращает текст ошибки.