public class HttpResponse extends java.lang.Object implements Result
HttpResponse.setContentPath(String)
の値を設定することで後者の方式がとられるようになる。Modifier and Type | Class and Description |
---|---|
static class |
HttpResponse.Status
HTTPレスポンスステータス。
|
Result.Success
Constructor and Description |
---|
HttpResponse()
HttpResponse オブジェクトを生成する。
以下のHTTPレスポンスメッセージに相当するHttpResponse オブジェクトを生成する。 |
HttpResponse(int statusCode)
指定されたステータスコードの
HttpResponse オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
|
HttpResponse(int statusCode,
java.lang.String contentPath)
指定されたHTTPステータスコードとコンテンツパスの
HttpResponse オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
|
HttpResponse(java.lang.String contentPath)
指定されたコンテンツパスの
HttpResponse オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
|
Modifier and Type | Method and Description |
---|---|
HttpResponse |
addCookie(nablarch.fw.web.HttpCookie cookie)
サーバ側から送信されたクッキー情報を設定する。
|
java.lang.String |
getContentLength()
Content-Lengthの値を取得する。
HTTPレスポンスボディの内容がこのオブジェクト自体に保持されている場合に限り、
そのバイト数を返す。
それ以外は null を返す。 |
ResourceLocator |
getContentPath()
コンテンツパスを取得する。
HTTPレスポンスボディに書き込むコンテンツパスを取得する。
|
java.lang.String |
getContentType()
Content-Typeの値を取得する。
Content-Typeが設定されている場合は、以下のソースコードと等価である。
|
nablarch.fw.web.HttpCookie |
getCookie()
Deprecated.
本メソッドは、複数のクッキー情報のうち先頭のクッキーを返すことしかできません。
複数のクッキー情報を返すことができる
#getCookieList() を使用してください。 |
java.lang.String |
getHeader(java.lang.String headerName)
HTTPレスポンスヘッダの値を返す。
|
java.util.Map |
getHeaderMap()
HTTPレスポンスヘッダを格納するMapを返す。
このMapに対する変更はレスポンスヘッダの内容に直接反映される。
|
java.util.List |
getHttpCookies()
サーバ側から送信されたクッキーのリストを
HttpCookie として取得する。
HttpCookie は同じ属性を持つ複数のクッキーを保持する仕様であるため、
クッキーの属性が各々異なることを考慮し、リストとして返却する。 |
java.lang.String |
getHttpVersion()
HTTPバージョンを表す文字列を返す。
|
java.lang.String |
getLocation()
Locationの値を取得する。
このメソッドの処理は以下のソースコードと等価である。
|
java.lang.String |
getMessage()
処理結果に対する詳細情報を返す。
返される詳細情報は以下の通りである。
|
java.lang.String |
getReasonPhrase()
HTTPレスポンスのステータスフレーズを返す。
|
int |
getStatusCode()
HTTPレスポンスのステータスコードの値を返す。
HTTPレスポンスがリダイレクトである場合は
302 を返す。 |
HttpResponse |
setContentDisposition(java.lang.String fileName)
Content-Dispositionの値を設定する。
Content-Typeが明示的に設定されていない場合、
設定されたファイル名の拡張子に応じたContent-Typeを自動的に設定する。
本メソッドではattachment属性を指定するため、ダウンロード時にダイアログが必ず表示される。 |
HttpResponse |
setContentDisposition(java.lang.String fileName,
boolean inline)
Content-Dispositionの値を設定する。
Content-Typeが明示的に設定されていない場合、
設定されたファイル名の拡張子に応じたContent-Typeを自動的に設定する。
inline にtrue を指定した場合、ダウンロードされたファイルは
クライアントアプリで自動的に開かれる。ただし、実際にそのような挙動となるかどうかは、クライアントの設定 およびOSのセキュリティ設定に依存する。 |
HttpResponse |
setContentPath(ResourceLocator resource)
コンテンツパスを設定する。
指定した
ResourceLocator オブジェクトがnull でない場合は、
リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。ResourceLocator オブジェクトがnull の場合は、コンテンツパスのみ設定する。 |
HttpResponse |
setContentPath(java.lang.String path)
コンテンツパスを設定する。
本処理は
HttpResponse.setContentPath(ResourceLocator) に委譲する。 |
HttpResponse |
setContentType(java.lang.String contentType)
Content-Typeを設定する。
Content-Typeのデフォルト値は、"text/plain;charset=UTF-8" である。
ボディに書き込む内容をコンテンツパスで指定する場合、 Content-Typeはコンテンツパスの拡張子から自動的に決定される為、 このメソッドを明示的に使用する必要は無い。 |
HttpResponse |
setCookie(nablarch.fw.web.HttpCookie cookie)
Deprecated.
本メソッドは、複数のクッキー情報を設定することを意図したメソッド名を持つ
HttpResponse.addCookie(HttpCookie) に置き換わりました。 |
void |
setHeader(java.lang.String headerName,
java.lang.String value)
HTTPレスポンスヘッダの値を設定する。
|
HttpResponse |
setLocation(java.lang.String location)
Locationの値を設定する。
リダイレクト時のHTTPクライアントの遷移先URIを設定する。
デフォルトでは設定されない。 |
HttpResponse |
setStatusCode(int code)
HTTPレスポンスのステータスコードを設定する。
デフォルトのステータスコードは
200 である。 |
HttpResponse |
write(byte[] bytes)
HTTPレスポンスボディにバイト配列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 nablarch.fw.web.handler.HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
HttpResponse |
write(java.nio.ByteBuffer bytes)
HTTPレスポンスボディにバイト配列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 nablarch.fw.web.handler.HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
HttpResponse |
write(java.lang.CharSequence text)
HTTPレスポンスボディに文字列を書き込む。
このメソッドで書き込まれたデータは、本オブジェクトが保持する
バッファに保持され、クライアントソケットに対する書き込みは一切発生しない。
(このライタに対するflush()は単に無視される。)
実際にソケットに対するレスポンス処理が行われるのは、 nablarch.fw.web.handler.HttpResponseHandler にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。 |
@Published public HttpResponse()
HttpResponse
オブジェクトを生成する。
以下のHTTPレスポンスメッセージに相当するHttpResponse
オブジェクトを生成する。
HTTP/1.1 200 OK Content-Type: text/plain;charset=UTF-8
@Published public HttpResponse(int statusCode)
HttpResponse
オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
new HttpResponse().setStatusCode(statusCode);
statusCode
- HTTPステータスコード@Published public HttpResponse(int statusCode, java.lang.String contentPath)
HttpResponse
オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
new HttpResponse().setStatusCode(statusCode)
.setContentPath(contentPath);
statusCode
- HTTPステータスコードcontentPath
- コンテンツパス@Published public HttpResponse(java.lang.String contentPath)
HttpResponse
オブジェクトを生成する。
このメソッドの処理は以下のソースコードと等価である。
new HttpResponse().setStatusCode(200)
.setContentPath(contentPath);
contentPath
- コンテンツパス@Published public int getStatusCode()
302
を返す。HttpResponse.setStatusCode(int)
@Published public HttpResponse setStatusCode(int code)
200
である。code
- HTTPステータスコードjava.lang.IllegalArgumentException
- 指定されたステータスコードが無効な場合@Published public java.lang.String getReasonPhrase()
@Published public java.lang.String getMessage()
(ステータスコード): (ステータスフレーズ)
@Published public java.lang.String getHttpVersion()
@Published public java.util.Map getHeaderMap()
@Published public java.lang.String getHeader(java.lang.String headerName)
headerName
- ヘッダー名@Published public void setHeader(java.lang.String headerName, java.lang.String value)
headerName
- ヘッダー名value
- ヘッダーの値@Published public java.lang.String getContentType()
this.headers().get("Content-Type")
Content-Typeが設定されていない場合は、以下の処理を行う。WebConfig#getAddDefaultContentTypeForNoBodyResponse()
がtrueの場合、
またはボディが存在する場合に"text/plain;charset=UTF-8"を設定する。@Published public HttpResponse setContentType(java.lang.String contentType)
contentType
- Content-Typeの値HttpResponse.getContentType()
@Published public java.lang.String getLocation()
this.headers().get("Location")
@Published public HttpResponse setLocation(java.lang.String location)
location
- 遷移先URIHttpResponse.Status.SEE_OTHER
@Published public HttpResponse setContentDisposition(java.lang.String fileName)
fileName
- ファイル名@Published public HttpResponse setContentDisposition(java.lang.String fileName, boolean inline)
inline
にtrue
を指定した場合、ダウンロードされたファイルは
クライアントアプリで自動的に開かれる。fileName
- ファイル名inline
- インライン表示する場合はtrue
@Published @Deprecated public nablarch.fw.web.HttpCookie getCookie()
#getCookieList()
を使用してください。null
@Published public java.util.List getHttpCookies()
HttpCookie
として取得する。
HttpCookie
は同じ属性を持つ複数のクッキーを保持する仕様であるため、
クッキーの属性が各々異なることを考慮し、リストとして返却する。HttpCookie
)のリスト@Published @Deprecated public HttpResponse setCookie(nablarch.fw.web.HttpCookie cookie)
HttpResponse.addCookie(HttpCookie)
に置き換わりました。cookie
- クッキー情報オブジェクト@Published public HttpResponse addCookie(nablarch.fw.web.HttpCookie cookie)
cookie
- クッキー情報オブジェクト@Published public HttpResponse setContentPath(java.lang.String path)
HttpResponse.setContentPath(ResourceLocator)
に委譲する。path
- コンテンツパス@Published public HttpResponse setContentPath(ResourceLocator resource)
ResourceLocator
オブジェクトがnull
でない場合は、
リソース名からContent-Typeを自動的に設定した後、コンテンツパスを設定する。ResourceLocator
オブジェクトがnull
の場合は、コンテンツパスのみ設定する。resource
- コンテンツパスHttpResponse.setContentPath(String)
@Published public ResourceLocator getContentPath()
@Published public java.lang.String getContentLength()
null
を返す。@Published public HttpResponse write(java.lang.CharSequence text) throws HttpErrorResponse
nablarch.fw.web.handler.HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。text
- 書き込む文字列HttpErrorResponse
- バッファの上限を越えてデータが書き込まれた場合@Published public HttpResponse write(byte[] bytes) throws HttpErrorResponse
nablarch.fw.web.handler.HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。bytes
- 書き込むバイト配列HttpErrorResponse
- バッファの上限を越えてデータが書き込まれた場合@Published public HttpResponse write(java.nio.ByteBuffer bytes) throws HttpErrorResponse
nablarch.fw.web.handler.HttpResponseHandler
にレスポンスオブジェクトが戻された後である。
また、このオブジェクトにコンテンツパスが設定されている場合、
このライタに書き込まれた内容は単に無視される。bytes
- 書き込むバイト列を格納したバッファHttpErrorResponse
- バッファの上限を越えてデータが書き込まれた場合