Spec-Zone.ru › OpenJDK 8

Класс HttpExchange

  • java.lang.Object
    • javax.xml.ws.spi.http.HttpExchange

public abstract class HttpExchange
extends Object

Этот класс инкапсулирует HTTP-запрос, полученный от клиента, и ответ, который должен быть сгенерирован в рамках одного обмена. Он предоставляет методы для проверки запроса от клиента и для построения и отправки ответа.

Объект HttpExchange должен быть закрыт, чтобы освободить или повторно использовать базовые ресурсы. Последствия отказа от закрытия обмена не определены.

Since:
JAX-WS 2.2

Поля

Модификатор и тип Поле и описание
static String REQUEST_CIPHER_SUITE

Стандартное свойство: значение набора шифров, когда запрос получен по протоколу HTTPS

static String REQUEST_KEY_SIZE

Стандартное свойство: размер в битах алгоритма, когда запрос получен по протоколу HTTPS

static String REQUEST_X509CERTIFICATE

Стандартное свойство: сертификат SSL, если таковой имеется, связанный с запросом

Конструкторы

Конструктор и описание
HttpExchange()

Методы

Модификатор и тип Метод и описание
abstract void addResponseHeader(String name, String value)

Добавляет заголовок ответа с заданным именем и значением.

abstract void close()

Это необходимо для завершения обмена.

abstract Object getAttribute(String name)

Возвращает атрибут, связанный с этим HttpExchange.

abstract Set<String> getAttributeNames()

Возвращает все имена атрибутов, связанные с этим HttpExchange.

abstract String getContextPath()

Возвращает контекстную часть пути всех конечных точек в приложении.

abstract HttpContext getHttpContext()

Возвращает HttpContext для этого обмена.

abstract InetSocketAddress getLocalAddress()

Возвращает неразрешенный локальный адрес, на котором был получен запрос.

abstract String getPathInfo()

Возвращает дополнительную информацию о пути, которая следует за путем веб-службы, но предшествует строке запроса в URI запроса и будет начинаться с символа "/".

abstract String getProtocol()

Возвращает строку протокола из запроса в формате протокол/majorVersion.minorVersion.

abstract String getQueryString()

Возвращает строку запроса, которая содержится в URI запроса после пути.

abstract InetSocketAddress getRemoteAddress()

Возвращает неразрешенный адрес удаленного сущности, вызвавшей этот запрос.

abstract InputStream getRequestBody()

Возвращает поток, из которого можно считать тело запроса.

abstract String getRequestHeader(String name)

Возвращает значение указанного заголовка запроса.

abstract Map<String,List<String>> getRequestHeaders()

Возвращает неизменяемую карту, содержащую HTTP-заголовки, включенные в этот запрос.

abstract String getRequestMethod()

Получить HTTP-метод запроса

abstract String getRequestURI()

Возвращает часть URI запроса от имени протокола до строки запроса в первой строке HTTP-запроса.

abstract OutputStream getResponseBody()

Возвращает поток, в который необходимо записать тело ответа.

abstract Map<String,List<String>> getResponseHeaders()

Возвращает изменяемую карту, в которую можно сохранить HTTP-заголовки ответа, которые будут переданы в рамках этого ответа.

abstract String getScheme()

Возвращает имя схемы, используемой для выполнения этого запроса, например: http или https.

abstract Principal getUserPrincipal()

Возвращает Principal, представляющий аутентифицированного пользователя для этого HttpExchange.

abstract boolean isUserInRole(String role)

Указывает, включен ли аутентифицированный пользователь в указанную логическую "роль".

abstract void setStatus(int status)

Устанавливает код HTTP-статуса для ответа.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

REQUEST_CIPHER_SUITE

public static final String REQUEST_CIPHER_SUITE

Стандартное свойство: значение шифра, используемое при получении запроса по протоколу HTTPS

Тип: Строка

См. также:
Значения константных полей

REQUEST_KEY_SIZE

public static final String REQUEST_KEY_SIZE

Стандартное свойство: размер алгоритма в битах при получении запроса по протоколу HTTPS

Тип: Целое число

См. также:
Значения константных полей

REQUEST_X509CERTIFICATE

public static final String REQUEST_X509CERTIFICATE

Стандартное свойство: сертификат SSL, если таковой имеется, связанный с запросом

Тип: java.security.cert.X509Certificate[] Порядок в этом массиве определен как возрастающий порядок доверия. Первый сертификат в цепочке — тот, который установлен клиентом, следующий — тот, который используется для аутентификации первого, и так далее.

См. также:
Значения константных полей

Конструкторы

HttpExchange

public HttpExchange()

Методы

getRequestHeaders

public abstract Map<String,List<String>> getRequestHeaders()

Возвращает неизменяемую карту, содержащую HTTP-заголовки, включённые в этот запрос. Ключами в этой карте являются имена заголовков, а значениями — список строк, содержащих каждое значение, которое было включено (либо для заголовка, указанного несколько раз, либо для заголовка, принимающего список значений, разделённых запятыми, в одной строке). В обоих случаях значения для имени заголовка будут представлены в том порядке, в котором они были включены в запрос.

Ключи в карте нечувствительны к регистру.

Возвращает:
неизменяемую карту, которая может использоваться для доступа к заголовкам запроса

getRequestHeader

public abstract String getRequestHeader(String name)

Возвращает значение указанного заголовка запроса. Если запрос не включал заголовок указанного имени, этот метод возвращает null. Если существует несколько заголовков с одинаковым именем, этот метод возвращает первый заголовок в запросе. Имя заголовка нечувствительно к регистру. Это удобный метод для получения заголовка (вместо использования getRequestHeaders()).

Параметры:
name - имя заголовка запроса
Возвращает:
возвращает значение запрошенного заголовка или null, если запрос не содержит заголовка с таким именем

getResponseHeaders

public abstract Map<String,List<String>> getResponseHeaders()

Возвращает изменяемую карту, в которую можно сохранить HTTP-заголовки ответа, которые будут переданы как часть этого ответа. Ключами в карте являются имена заголовков, а значениями — список строк, содержащих каждое значение, которое должно быть включено несколько раз (в порядке их включения).

Ключи в карте нечувствительны к регистру.

Возвращает:
изменяемую карту, которая может быть использована для установки заголовков ответа.

addResponseHeader

public abstract void addResponseHeader(String name,
                                       String value)

Добавляет заголовок ответа с заданным именем и значением. Этот метод позволяет заголовку ответа иметь несколько значений. Это удобный метод для добавления заголовка ответа (вместо использования getResponseHeaders()).

Параметры:
name - имя заголовка
value - дополнительное значение заголовка. Если оно содержит строку байтов, оно должно быть закодировано в соответствии с RFC 2047 (http://www.ietf.org/rfc/rfc2047.txt)
См. также:
getResponseHeaders()

getRequestURI

public abstract String getRequestURI()

Возвращает часть URI запроса от имени протокола до строки запроса в первой строке HTTP-запроса. Контейнер не декодирует эту строку.

Возвращает:
URI запроса

getContextPath

public abstract String getContextPath()

Возвращает контекстную директорию всех точек входа в приложении. Этот путь — часть URI запроса, которая указывает контекст запроса. Контекстная директория всегда стоит первой в URI запроса. Путь начинается с символа "/" но не заканчивается на нем. Если этот метод возвращает "", запрос относится к контексту по умолчанию. Контейнер не декодирует эту строку.

Контекстная директория используется при вычислении адреса точки входа. См. HttpContext.getPath()

Возвращает:
контекстная директория всех точек входа в приложении
См. также:
HttpContext.getPath()

getRequestMethod

public abstract String getRequestMethod()

Получить метод HTTP-запроса

Возвращает:
метод запроса

getHttpContext

public abstract HttpContext getHttpContext()

Возвращает HttpContext для этого обмена. Контейнер сопоставляет запрос с соответствующим HttpContext точки входа.

Возвращает:
HttpContext для этого обмена

close

public abstract void close()
                    throws IOException

Это необходимо вызвать для завершения обмена. Контейнер позаботится о закрытии потоков запроса и ответа. Это необходимо сделать, чтобы контейнер мог освободить или повторно использовать базовые ресурсы.

Выбрасывает:
IOException - если любая ошибка ввода/вывода

getRequestBody

public abstract InputStream getRequestBody()
                                    throws IOException

Возвращает поток, из которого можно считать тело запроса. Несколько вызовов этого метода вернут один и тот же поток.

Возвращает:
поток, из которого можно считать тело запроса.
Выбрасывает:
IOException - если любая ошибка ввода/вывода при обработке запроса

getResponseBody

public abstract OutputStream getResponseBody()
                                      throws IOException

Возвращает поток, в который необходимо записать тело ответа. setStatus(int)) необходимо вызвать до вызова этого метода. Несколько вызовов этого метода (для одного и того же обмена) вернут один и тот же поток.

Возвращает:
поток, в который записывается тело ответа
Выбрасывает:
IOException - если любая ошибка ввода/вывода при обработке ответа

setStatus

public abstract void setStatus(int status)

Устанавливает код HTTP-статуса для ответа.

Этот метод должен быть вызван до вызова getResponseBody().

Параметры:
status - код ответа для отправки
См. также:
getResponseBody()

getRemoteAddress

public abstract InetSocketAddress getRemoteAddress()

Возвращает неразрешённый адрес удалённого субъекта, вызвавшего этот запрос.

Возвращает:
InetSocketAddress вызывающего лица

getLocalAddress

public abstract InetSocketAddress getLocalAddress()

Возвращает неразрешённый локальный адрес, на котором был получен запрос.

Возвращает:
InetSocketAddress локального интерфейса

getProtocol

public abstract String getProtocol()

Возвращает строку протокола из запроса в формате протокол/majorVersion.minorVersion. Например, "HTTP/1.1"

Возвращает:
строка протокола из запроса

getScheme

public abstract String getScheme()

Возвращает имя схемы, используемой для данного запроса, например: http или https.

Возвращает:
имя схемы, используемой для данного запроса

getPathInfo

public abstract String getPathInfo()

Возвращает дополнительную информацию о пути, которая следует за путём веб-сервиса, но предшествует строке запроса в URI запроса и начнётся с символа "/".

Это может использоваться для MessageContext.PATH_INFO

Возвращает:
декодированная дополнительная информация о пути веб-сервиса. Это путь, следующий за путём веб-сервиса, но предшествующий строке запроса в URI запроса null если в запросе URI нет дополнительного пути

getQueryString

public abstract String getQueryString()

Возвращает строку запроса, содержащуюся в URI запроса после пути.

Это может использоваться для MessageContext.QUERY_STRING

Возвращает:
недекодированная строка запроса URI запроса, или null если в URI запроса её нет

getAttribute

public abstract Object getAttribute(String name)

Возвращает атрибут, связанный с этим HttpExchange. Обработчики и точки входа JAX-WS могут получить доступ к атрибуту с помощью MessageContext.

Контейнеры сервлетов должны предоставить MessageContext.SERVLET_CONTEXT, MessageContext.SERVLET_REQUEST и MessageContext.SERVLET_RESPONSE в качестве атрибутов.

Если запрос был получен контейнером с использованием HTTPS, следующая информация должна быть представлена в качестве атрибутов. Эти атрибуты — REQUEST_CIPHER_SUITE и REQUEST_KEY_SIZE. Если с запросом связан сертификат SSL, он должен быть представлен с помощью REQUEST_X509CERTIFICATE

Параметры:
name - имя атрибута
Возвращает:
значение атрибута или null если атрибута нет

getAttributeNames

public abstract Set<String> getAttributeNames()

Возвращает все имена атрибутов, связанные с этим HttpExchange.

Возвращает:
множество всех имён атрибутов
См. также:
getAttribute(String)

getUserPrincipal

public abstract Principal getUserPrincipal()

Возвращает Principal, представляющий аутентифицированного пользователя для этого HttpExchange.

Возвращает:
Principal для аутентифицированного пользователя, или null если пользователь не аутентифицирован

isUserInRole

public abstract boolean isUserInRole(String role)

Указывает, включён ли аутентифицированный пользователь в указанную логическую "роль".

Параметры:
role - указывает имя роли
Возвращает:
true если пользователь, делающий этот запрос, принадлежит к заданной роли

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API