Skip to content

Latest commit

 

History

History
945 lines (696 loc) · 30.4 KB

File metadata and controls

945 lines (696 loc) · 30.4 KB

HTTP

Все интерфейсы этого раздела, кроме ObjectOfStringArray, находятся в пространстве имён Http.

Интерфейс HttpManager

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 в случае ошибки.

 

Интерфейс Params

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.

 

Интерфейс UrlParams

interface UrlParams extends Params {
	stringify(): string;
	
	setEncodingType(type: string): this;
	getEncodingType(): string;
}

Интерфейс, представляющий набор параметров и их значений для передачи их в Url. Наследуется от интерфейса Params.

 

stringify(): string;

Возвращает строковое представление значений параметров вида paramOne=5&paramTwo=hello&paramThree=world.

 

setEncodingType(type: string): this;

Устанавливает стандарт кодировки параметров URL. Допустимые значения: NONE, RFC1738, RFC3986. Значение по умолчанию: RFC1738. Возвращает this.

 

getEncodingType(): string;

Возвращает стандарт кодировки параметров URL.

 

Интерфейс JsonRequestBody

interface JsonRequestBody {
	setJson(value: string | Object): boolean;
}

Интерфейс генерации тела запроса для отправки в нём JSON.

 

setJson(value: string | Object): boolean;

Устанавливает в тело запроса переданный JSON. Если передаётся строка, она предварительно конвертируется в JSON с помощью JSON.parse(). Возвращает true. Передача в функцию value типа Object работает некорректно.

 

Интерфейс StringRequestBody

interface StringRequestBody {
	setBody(value: string): boolean;
}

Интерфейс генерации тела запроса для отправки в нём строки.

 

	setBody(value: string): boolean;

Устанавливает переданную строку в тело запроса. Возвращает true.

 

Интерфейс FormRequestBody

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, параметра filenamefileName. Возвращает this.

 

Интерфейс FileRequestBody

interface FileRequestBody {
	appendFile(filePath: string): this;
}

Интерфейс генерации тела запроса для отправки в нём файла.

 

	appendFile(filePath: string): this;

Прикрепляет к запросу файл, расположенный по пути filePath локальной файловой системы скрипта. Возвращает this.

 

Интерфейс RequestBody

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 для отправки файла в теле запроса.

 

Интерфейс Url

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.

 

Интерфейс AllowRedirects

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[];

Возвращает список протоколов, для которых разрешены перенаправления.

 

Интерфейс HttpAuth

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.

 

Интерфейс Cert

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.

 

Интерфейс Verify

interface Verify {
	setStatus(value: boolean): boolean;
	setPath(path: string): boolean;
}

Интерфейс верификации сертификатов SSL.

setStatus(value: boolean): boolean;

Устанавливает признак верификации сертификата SSL. Значение по умолчанию: true. Возвращает true.

 

setPath(path: string): boolean;

Не реализовано.

 

Интерфейс Options

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.

 

Интерфейс DownloadFileParams

interface DownloadFileParams {
	setPath(path: string): this;
}

Интерфейс для указания настроек скачивания файлов.

 

setPath(path: string): this;

Устанавливает путь в локальной директории скриптов, по которому будет сохранён скачиваемый файл. Файл будет загружен по данному пути после отправки запроса. По умолчанию параметр пути не задан - файл скачиваться не будет. Возвращает this.

 

Интерфейс SizeLimitParams

interface SizeLimitParams {
	setContentLengthLimit(lengthInBytes: number): this;
}

Интерфейс для указания лимита размера получаемого контента в ответе на запрос.

 

setContentLengthLimit(lengthInBytes: number): this;

Устанавливает лимит получаемого контента в байтах. Если передать в аргумент lengthInBytes - 0 (числовой ноль), то проверка не будет происходить. Значение по умолчанию - 0. Возвращает this.

 

Интерфейс RequestBuilder

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 доступа к данным ответа сервера.

 

Тип ObjectOfStringArray

type ObjectOfStringArray = {
	[key: string]: string[];
}

Специализированный тип объекта, в котором значения могут быть только списками строк.

 

Интерфейс Response

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, если их нет.

 

Интерфейс ResponseErrors

interface ResponseErrors {
	getCode(): number;
	getMessage(): string;
}

Интерфейс доступа к ошибке транспортного уровня HTTP.

 

getCode(): number;

Возвращает код ошибки.

 

getMessage(): string;

Возвращает текст ошибки.

 

API Reference

Оглавление