@boristype/types
Version:
<h1 align="center">WT Types</h1> <div align="center"> Typescript типы для WebSoft HCM.
229 lines (198 loc) • 12.8 kB
TypeScript
interface IRequestAuthObject {
id: XmlElem<number>;
login: XmlElem<string>;
access_role_id: XmlElem<number, AccessRoleBase>;
}
/**
* Объект Request доступен на сервере xHttp.exe при вызове кода веб-страницы.
* Обозначает соответствующий HTTP-запрос к странице.
*/
interface Request {
/**
* Экспериментальный атрибут. Возвращает массив стандартный объектов типа Object,
* содержащий копии данных всех действующих web-сессий (объектов Session).
* Копируются только поля, содержащие скалярные значения, поля,
* содержащие объекты, копируются как undefined.
*/
AllSessions: Session[];
/**
* Возвращает логин пользователя авторизованного запроса.
* Если запрос не авторизованный, или атрибут вызывается до авторизации,
* возвращается пустая строка.
*/
AuthLogin: string;
/**
* Возвращает объект, соответствующий пользователю авторизованного запроса
* от клиентской части (SpXml.exe).
*/
AuthObject: XmlElem<IRequestAuthObject>;
/**
* Возвращает пароль пользователя авторизованного запроса (для basic-авторизации).
* Если запрос не авторизованный, или атрибут вызывается до авторизации,
* или используется метод авторизации без передачи пароля в открытом виде,
* возвращается пустая строка.
*/
AuthPassword: string;
/**
* Возвращает Id пользователя авторизованного запроса.
* Для запросов от клиентской части (SpXml.exe) переменная
* устанавливается автоматически исходя из результата вызова {@link OnCheckAuth}().
* Для запросов к Web-страницы переменная может быть установлена
* вручную авторизационным кодом Web-страницы.
*
* При сохранении на сервере документа, содержащего элемент, содержимое переменной
* автоматически записывается в поля creation.user_id и modification.user_id
* структуры doc_info, если такие поля присутствуют в документе.
*/
AuthUserID: number;
/**
* Возвращает тело HTTP-запроса в виде строки.
*/
Body: string;
/**
* Возвращает содержимое web-формы запроса, передаваемого через метод POST,
* разобранное по полям, в виде стандартного объекта javascript Object.
* Если запрос не содержит web-форму, атрибут возвращает ошибку.
*/
Form: Object;
/**
* Возвращает список полей заголовка HTTP-запроса в виде стандартного объекта
* javascript Object.
*/
Header: Object;
/**
* Возвращает метод ('GET' или 'POST') текущего HTTP-запроса.
*/
Method: string;
/**
* Возвращает стандартный объект javascript Object, содержащий объединенный
* набор полей из атрибутов Form и QueryString.
*/
Query: Object;
/**
* Возвращает содержимое строки параметров url запроса, разобранное по полям,
* в виде стандартного объекта javascript Object. Если url не содержит параметров,
* возвращаемый пустой объект.
*/
QueryString: Object;
/**
* Возвращает IP адрес, с которого отправлен запрос, в виде строки.
*/
RemoteIP: string;
/**
* Более современный эквивалент атрибута ContentType объекта Response.
* Атрибут доступен как на чтение так и на запись.
* Содержит значение заголовка "Content-Type" ответа на текущий запрос. HTTP.
* Если заголовок уже был отправлен, попытка изменения атрибута возвращает ошибку.
*/
RespContentType: string;
/**
* Возвращает объект типа Stream, в который можно писать данные ответа HTTP.
* Если заголовок ответа еще не был отправлен к моменту первого обращения
* к атрибуту, отправляется ответ HTTP 200.
*/
RespStream: Stream;
/**
* Возвращает объект Session, привязанный к текущему запросу.
* Если в коде Web-страницы объект Session доступен через глобальную
* переменную с таким же именем, то, например, внутри {@link OnWebRequest}()
* единственный способ получить ссылку на этот объект - это обратиться
* через Request.Session.
*/
Session: Session;
/**
* Возвращает время начала запроса в миллисекундах, прошедшее с момента запуска операционной системы.
* @example alert(GetCurTicks() - Request.StartTicks)
*/
StartTicks: number;
/**
* Возвращает запрашиваемый url текущего HTTP-запроса.
*/
Url: string;
/**
* Возвращает хост (адрес сервера и, если есть - порт) запрашиваемого
* url текущего HTTP-запроса. Данный атрибут доступен также на запись,
* что используется, как правило, внутри вызова {@link OnWebRequest}() для
* внутреннего перенаправления старых url на новые.
*/
UrlHost: string;
/**
* Возвращает строку параметров (param1=value1¶m2=value2&...)
* запрашиваемого url текущего HTTP-запроса. Данный атрибут доступен
* также на запись, что используется, как правило, внутри вызова {@link OnWebRequest}()
* для внутреннего перенаправления старых url на новые.
*/
UrlParam: string;
/**
* Возвращает путь запрашиваемого url текущего HTTP-запроса.
* Данный атрибут доступен также на запись, что используется,
* как правило, внутри вызова {@link OnWebRequest}() для внутреннего
* перенаправления старых url на новые.
*/
UrlPath: string;
/**
* Добавляет или заменяет поле заголовка HTTP-ответа. Если заголовок уже был отправлен, метод возвращает ошибку.
* @param {string} fieldName - Имя поля.
* @param {string} fieldValue - Значение поля.
* @param {boolean} replaceExisting - Заменить существующее.
* Заменить значение существующего поля с таким же именем, если есть.
* Необязательный аргумент, по умолчанию равен true.
*/
AddRespHeader(fieldName: string, fieldValue: string, replaceExisting?: boolean): void;
/**
* Вызывает проверку авторизации запроса по стандартному методу авторизации
* для рабочего места (через вызов OnCheckAuth).
*/
CheckLdsAuth(): void;
/**
* Выполняет код указанного фрагмента Web-страницы с записью результата
* в текущий HTTP-ответ. Метод используется для включений фрагментов,
* общих для различных видов страниц.
* @param {string} path - Путь к включаемому фрагменту.
* Если указан относительный путь (что как правило и делается),
* путь считается относительно родительской к текущей странице директории.
* @param {boolean} allowSubCancel - Разрешать завершение код с отменой.
* Если true, то в случае, если код фрагмента завершается исключением типа {@link Cancel}(),
* метод все равно завершается успешно. Необязательный аргумент,
* по умолчанию равен false. Используется, для удобства завершения фрагментов
* кода через функцию {@link Cancel}(), поскольку использовать return непосредственно
* в коде фрагмента страницы невозможно.
*/
Execute(path: string, allowSubCancel?: boolean): void;
/**
* Вызывает отправку статуса HTTP 404 "Not found" (объект не найден).
* Если заголовок уже был отправлен, метод возвращает ошибку.
*/
HandleNotFound(): void;
/**
* Вызывает отправку статуса HTTP 301 "Object Moved" (постоянное перенаправление).
* Если заголовок уже был отправлен, метод возвращает ошибку.
* @param {string} redirectUrl - Url, на которое происходит перенаправление.
*/
PermanentRedirect(redirectUrl: string): void;
/**
* Вызывает отправку статуса HTTP 302 "Object Moved" (перенаправление).
* Если заголовок уже был отправлен, метод возвращает ошибку.
* @param {string} redirectUrl - Url, на которое происходит перенаправление.
*/
Redirect(redirectUrl: string): void;
/**
* Возвращает статус HTTP-ответа. Если заголовок уже был отправлен,
* метод возвращает ошибку.
* @param {number} statusCode - Трехзначный код статуса.
* @param {string} statusDesc - Наименование статуса.
* @example Request.SetRespStatus( 500, 'Invalid server state' );
*/
SetRespStatus(statusCode: number, statusDesc: string): void;
/**
* Используется для проверки авторизации внутри Web-страницы.
* Вызывает отправку статуса HTTP 401 "Authorization required".
* Код Web-страницы обычно вызывает данный метод, если Request.AuthLogin
* возвращает пустую строку, либо указаны неверные авторизационные данные.
* Если заголовок уже был отправлен, метод возвращает ошибку.
* @param {string} options - Список опций вида 'name1=value1;name2=value2;...'.
* Допустимые значения: basic=1, ntlm=1 - разрешенные виды авторизации.
*/
SetWrongAuth(options: string): void;
}
declare const Request: Request;