package org.analogweb;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

/**
 * 1つのHTTPリクエストをライフサイクルとする全てのモジュールを保持します。<br/>
 * @author snowgoose
 */
public interface RequestContext {

    /**
     * HTTPクッキーを保持する{@link Cookies}を取得します。
     * @return {@link Cookies}
     */
    Cookies getCookies();

    /**
     * HTTPリクエストヘッダを保持する{@link Headers}を取得します。
     * @return {@link Headers}
     */
    Headers getRequestHeaders();

    /**
     * HTTPレスポンスヘッダを保持する{@link Headers}を取得します。
     * @return {@link Headers}
     */
    Headers getResponseHeaders();

    /**
     * HTTPリクエストに含まれるパラメータを保持する{@link Parameters}を取得します。
     * @return {@link Parameters}
     */
    Parameters getParameters();

    /**
     * リクエストボディを保持する{@link InputStream}を取得します。
     * @return {@link InputStream}
     * @throws IOException I/Oエラーが発生した場合
     */
    InputStream getRequestBody() throws IOException;

    /**
     * レスポンスボディを保持する{@link OutputStream}を取得します。
     * @return {@link OutputStream}
     * @throws IOException I/Oエラーが発生した場合
     */
    OutputStream getResponseBody() throws IOException;

    /**
     * レスポンスするHTTPステータスを指定します。
     * @param status レスポンスするHTTPステータス
     */
    void setResponseStatus(int status);

    /**
     * 現在のリクエストにおける{@link RequestPath}を取得します。
     * @return {@link RequestPath}
     */
    RequestPath getRequestPath();

}

@@ -1110,32 +1110,225 @@
 s IOException;%0A%0A
+    /**%0A     * HTTP%E3%83%AA%E3%82%AF%E3%82%A8%E3%82%B9%E3%83%88%E3%83%98%E3%83%83%E3%83%80 Content-Type %E3%81%AB%E5%90%AB%E3%81%BE%E3%82%8C%E3%82%8B%E3%83%A1%E3%83%87%E3%82%A3%E3%82%A2%E3%82%BF%E3%82%A4%E3%83%97%E3%82%92%0A     * %7B@link MediaType%7D%E3%81%A8%E3%81%97%E3%81%A6%E5%8F%96%E5%BE%97%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%E3%83%98%E3%83%83%E3%83%80%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%81%AF%0A     * null%E3%82%92%E8%BF%94%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%0A     * @return %7B@link MediaType%7D%0A     */%0A    MediaType getContentType();%0A%0A
     /**%0A     * %E3%83%AC

Add RequestContext#getContentType