Class HttpRequest

java.lang.Object
nablarch.fw.web.HttpRequest
All Implemented Interfaces:
Validatable<String[]>, Request<String[]>
Direct Known Subclasses:
HttpRequestWrapper, JaxRsHttpRequest, MockHttpRequest

public abstract class HttpRequest extends Object implements Request<String[]>, Validatable<String[]>
HTTP/1.1(RFC2616)におけるリクエストメッセージのパーサ及び その結果を格納するデータオブジェクト。
  • Constructor Details

    • HttpRequest

      public HttpRequest()
  • Method Details

    • getMethod

      @Published public abstract String getMethod()
      HTTPリクエストメソッド名を返す。
      Returns:
      リクエストメソッド名
    • getRequestUri

      @Published public String getRequestUri()
      HTTPリクエストURIを返す。
      Returns:
      リクエストURI
    • setRequestUri

      public HttpRequest setRequestUri(String requestUri)
      HTTPリクエストURIを設定する。
      Parameters:
      requestUri - リクエストURI
      Returns:
      本オブジェクト
    • getRequestPath

      @Published public String getRequestPath()
      HTTPリクエストURIのパス部分(クエリストリングを除いた部分)を返す。
      Specified by:
      getRequestPath in interface Request<String[]>
      Returns:
      HTTPリクエストURIのパス部分
    • setRequestPath

      @Published(tag="architect") public HttpRequest setRequestPath(String requestPath)
      リクエストパスを設定する。

      この実装では、リクエストURI中のリクエストパスを書き換える。

      Specified by:
      setRequestPath in interface Request<String[]>
      Parameters:
      requestPath - リクエストパス
      Returns:
      本オブジェクト
    • getHttpVersion

      @Published public abstract String getHttpVersion()
      HTTPバージョン名を返す。
      Returns:
      HTTPバージョン名
    • getParamMap

      @Published(tag="architect") public abstract Map<String,String[]> getParamMap()
      リクエストパラメータのMapを返す。
       HTTPリクエストメッセージ中の以下のパラメータを格納したMapを返す。
         1. リクエストURI中のクエリパラメータ
         2. メッセージボディ内のPOSTパラメータ
       パラメータ名は重複する可能性があるので、値の型はString[]で定義されている。
       
      Specified by:
      getParamMap in interface Request<String[]>
      Specified by:
      getParamMap in interface Validatable<String[]>
      Returns:
      リクエストパラメータのMap
    • getParam

      @Published(tag="architect") public abstract String[] getParam(String name)
      リクエストパラメータを取得する。
      Specified by:
      getParam in interface Request<String[]>
      Parameters:
      name - パラメータ名
      Returns:
      パラメータの値
      See Also:
    • setParam

      @Published public abstract HttpRequest setParam(String name, String... params)
      リクエストパラメータを設定する。
      Parameters:
      name - パラメータ名
      params - パラメータの値
      Returns:
      本オブジェクト
    • setParamMap

      @Published(tag="architect") public abstract HttpRequest setParamMap(Map<String,String[]> params)
      リクエストパラメータを設定する。
      Parameters:
      params - リクエストパラメータのMap
      Returns:
      本オブジェクト
    • getHeaderMap

      @Published public abstract Map<String,String> getHeaderMap()
      HTTPリクエストヘッダを格納したMapを取得する。
      Returns:
      HTTPリクエストヘッダのMap
    • getHeader

      @Published public abstract String getHeader(String headerName)
      HTTPリクエストヘッダの値を返す。
      Parameters:
      headerName - リクエストヘッダ名
      Returns:
      HTTPリクエストヘッダの値
    • getHost

      @Published public String getHost()
      HTTPリクエストのホストヘッダを取得する。
      Returns:
      ホストヘッダ
    • getCookie

      @Published(tag="architect") public abstract HttpCookie getCookie()
      本リクエストで送信されるクッキー情報を取得する。
      Returns:
      クッキー情報オブジェクト
    • getPart

      @Published public List<PartInfo> getPart(String name)
      マルチパートの一部を取得する。

      引数で指定した名称に合致するパートが存在しない場合、空のリストが返却される。

      Parameters:
      name - 名称(inputタグのname属性)
      Returns:
      マルチパート
    • setMultipart

      @Published(tag="architect") public void setMultipart(Map<String,List<PartInfo>> multipart)
      マルチパートを設定する。
      Parameters:
      multipart - マルチパート
    • getMultipart

      @Published public Map<String,List<PartInfo>> getMultipart()
      本HTTPリクエストの全マルチパートを取得する。

      戻り値のMapの構造を以下に示す。

      キー
      名称(inputタグのname属性)
      キーのname属性でアップロードされたマルチパート
      Returns:
      全マルチパート
      See Also:
    • getUserAgent

      @Published public <UA extends UserAgent> UA getUserAgent()
      UserAgent情報を取得する。

      HTTPヘッダ("User-Agent")よりUser-Agent文字列を取得し、 SystemRepositoryに設定されたUserAgentParser(コンポーネント名"userAgentParser")で解析を行う。
      パーサーが取得できない場合は、 全ての項目にデフォルト値が設定されたUserAgentオブジェクトが返却される。

      Type Parameters:
      UA - userAgentの型
      Returns:
      UserAgentオブジェクト