Kagetaka

net.hizlab.kagetaka.protocol.http
クラス HawkHttpURLConnection

java.lang.Object
  拡張java.net.URLConnection
      拡張java.net.HttpURLConnection
          拡張net.hizlab.kagetaka.protocol.http.HawkHttpURLConnection
すべての実装インタフェース:
CacheSupported, ProxySupported
直系の既知のサブクラス:
Hawk2HttpURLConnection

public class HawkHttpURLConnection
extends HttpURLConnection
implements CacheSupported, ProxySupported

HTTP クライアントの基本的な機能を提供します。

バージョン:
$Revision: 1.7 $

フィールドの概要
protected static String ACCEPT_STRING
          受け付けるコンテンツタイプ
protected  URLConnectionCache.Entry cacheEntry
          キャッシュエントリー
protected  HttpClient http
          HTTP クライアント
protected static String HTTP_VERSION
          HTTP バージョン
protected  InputStream inputStream
          インプットストリーム
protected  boolean instanceFollowRedirects
          リダイレクトを行うかどうか
protected static int maxRedirects
          最大転送回数
protected  String proxyHost
          プロキシホスト
protected  int proxyPort
          プロキシポート
protected  Exception rememberedException
          発生している例外
protected  MessageHeader requests
          リクエスト
protected  boolean responseException
          HTTP レスポンスが 400 以上で例外を発生させるかどうか
protected  MessageHeader responses
          レスポンス
protected  boolean usingProxy
          プロキシを使用するかどうか
 
クラス java.net.HttpURLConnection から継承したフィールド
HTTP_ACCEPTED, HTTP_BAD_GATEWAY, HTTP_BAD_METHOD, HTTP_BAD_REQUEST, HTTP_CLIENT_TIMEOUT, HTTP_CONFLICT, HTTP_CREATED, HTTP_ENTITY_TOO_LARGE, HTTP_FORBIDDEN, HTTP_GATEWAY_TIMEOUT, HTTP_GONE, HTTP_INTERNAL_ERROR, HTTP_LENGTH_REQUIRED, HTTP_MOVED_PERM, HTTP_MOVED_TEMP, HTTP_MULT_CHOICE, HTTP_NO_CONTENT, HTTP_NOT_ACCEPTABLE, HTTP_NOT_AUTHORITATIVE, HTTP_NOT_FOUND, HTTP_NOT_IMPLEMENTED, HTTP_NOT_MODIFIED, HTTP_OK, HTTP_PARTIAL, HTTP_PAYMENT_REQUIRED, HTTP_PRECON_FAILED, HTTP_PROXY_AUTH, HTTP_REQ_TOO_LONG, HTTP_RESET, HTTP_SEE_OTHER, HTTP_SERVER_ERROR, HTTP_UNAUTHORIZED, HTTP_UNAVAILABLE, HTTP_UNSUPPORTED_TYPE, HTTP_USE_PROXY, method, responseCode, responseMessage
 
クラス java.net.URLConnection から継承したフィールド
allowUserInteraction, connected, doInput, doOutput, ifModifiedSince, url, useCaches
 
メソッドの概要
protected  void checkIOException(IOException exception)
          指定された例外が起きた場合に再試行してはいけない場合に、 例外をスローします。
protected  void checkMessageHeader(String key, String value)
          メッセージヘッダーが正しいかをチェックし、整形します。
 void connect()
          接続を行います。
 void disconnect()
          切断します。
 String getCachePath()
          キャッシュファイルのパスを返します。
protected  String getConnectURL()
          HTTP リクエストに使用するリクエスト文字列を返します。
protected  int getDefaultPort()
          デフォルトポートを返します。
 InputStream getErrorStream()
          HTTP エラーが発生した場合(レスポンスコードが 400 以上)に、 入力ストリームを返します。
 String getHeaderField(int n)
          ヘッダーフィールドを返します。
 String getHeaderField(String name)
          ヘッダーフィールドを返します。
 String getHeaderFieldKey(int n)
          ヘッダーフィールドを返します。
protected  String getHostHeader(boolean mustPort)
          URLConnection.url を元にした Host ヘッダー用の文字列を返します。
 InputStream getInputStream()
          入力ストリームを返します。
 boolean getInstanceFollowRedirects()
          リダイレクトを行うかどうかを返します。
 OutputStream getOutputStream()
          リクエストで出力する出力ストリームを戻します。
 String getRequestProperty(String key)
          リクエストプロパティを返します。
 int getResponseCode()
          HTTP レスポンスコードを返します。
protected  void plainConnect()
          直接接続します。
protected  void proxiedConnect()
          プロキシ経由で接続します。
protected  void release()
          リソースを解放します。
 void removeCache()
          キャッシュデータを破棄します。
 void setInstanceFollowRedirects(boolean followRedirects)
          リダイレクトを行うかどうかを設定します。
 void setRequestProperty(String key, String value)
          リクエストプロパティを設定します。
 void setupCache(CacheManager cm, PostData pd)
          キャッシュマネージャを使用できるようにセットアップします。
protected  void setupProxy(String host, int port)
          プロキシを設定します。
protected  MessageHeader setupRequests()
          HTTP リクエストヘッダーをセットアップし、 接続に使用するリクエストヘッダーを返します。
 boolean usingProxy()
          プロキシを利用するかどうかを返します。
 
クラス java.net.HttpURLConnection から継承したメソッド
getFollowRedirects, getHeaderFieldDate, getPermission, getRequestMethod, getResponseMessage, setFollowRedirects, setRequestMethod
 
クラス java.net.URLConnection から継承したメソッド
addRequestProperty, getAllowUserInteraction, getContent, getContent, getContentEncoding, getContentLength, getContentType, getDate, getDefaultAllowUserInteraction, getDefaultRequestProperty, getDefaultUseCaches, getDoInput, getDoOutput, getExpiration, getFileNameMap, getHeaderFieldInt, getHeaderFields, getIfModifiedSince, getLastModified, getRequestProperties, getURL, getUseCaches, guessContentTypeFromName, guessContentTypeFromStream, setAllowUserInteraction, setContentHandlerFactory, setDefaultAllowUserInteraction, setDefaultRequestProperty, setDefaultUseCaches, setDoInput, setDoOutput, setFileNameMap, setIfModifiedSince, setUseCaches, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

ACCEPT_STRING

protected static final String ACCEPT_STRING
受け付けるコンテンツタイプ

関連項目:
定数フィールド値

cacheEntry

protected URLConnectionCache.Entry cacheEntry
キャッシュエントリー


http

protected HttpClient http
HTTP クライアント


HTTP_VERSION

protected static final String HTTP_VERSION
HTTP バージョン

関連項目:
定数フィールド値

inputStream

protected InputStream inputStream
インプットストリーム


instanceFollowRedirects

protected boolean instanceFollowRedirects
リダイレクトを行うかどうか


maxRedirects

protected static int maxRedirects
最大転送回数


proxyHost

protected String proxyHost
プロキシホスト


proxyPort

protected int proxyPort
プロキシポート


rememberedException

protected Exception rememberedException
発生している例外


requests

protected MessageHeader requests
リクエスト


responseException

protected boolean responseException
HTTP レスポンスが 400 以上で例外を発生させるかどうか


responses

protected MessageHeader responses
レスポンス


usingProxy

protected boolean usingProxy
プロキシを使用するかどうか

メソッドの詳細

checkIOException

protected void checkIOException(IOException exception)
                         throws IOException
指定された例外が起きた場合に再試行してはいけない場合に、 例外をスローします。

パラメータ:
exception - 例外
例外:
IOException - スローする例外

checkMessageHeader

protected void checkMessageHeader(String key,
                                  String value)
メッセージヘッダーが正しいかをチェックし、整形します。

パラメータ:
key - キー
value - 値
関連項目:
不正なヘッダーの場合

connect

public void connect()
             throws IOException
接続を行います。

例外:
IOException - IO エラーが発生した場合

disconnect

public void disconnect()
切断します。


getCachePath

public String getCachePath()
キャッシュファイルのパスを返します。

定義:
インタフェース CacheSupported 内の getCachePath
戻り値:
キャッシュファイルのパス

getConnectURL

protected String getConnectURL()
HTTP リクエストに使用するリクエスト文字列を返します。

戻り値:
リクエスト文字列

getDefaultPort

protected int getDefaultPort()
デフォルトポートを返します。

戻り値:
デフォルトポート

getErrorStream

public InputStream getErrorStream()
HTTP エラーが発生した場合(レスポンスコードが 400 以上)に、 入力ストリームを返します。

戻り値:
エラーの場合の入力ストリーム

getHeaderField

public String getHeaderField(int n)
ヘッダーフィールドを返します。

パラメータ:
n - ヘッダー位置
戻り値:
ヘッダーフィールド

getHeaderField

public String getHeaderField(String name)
ヘッダーフィールドを返します。

パラメータ:
name - キー
戻り値:
ヘッダーフィールド

getHeaderFieldKey

public String getHeaderFieldKey(int n)
ヘッダーフィールドを返します。

パラメータ:
n - ヘッダー位置
戻り値:
ヘッダーフィールド

getHostHeader

protected String getHostHeader(boolean mustPort)
URLConnection.url を元にした Host ヘッダー用の文字列を返します。

パラメータ:
mustPort - ポートを必ず付加するかどうか
戻り値:
ヘッダー用の文字列

getInputStream

public InputStream getInputStream()
                           throws IOException
入力ストリームを返します。

戻り値:
入力ストリーム
例外:
IOException - IO エラーが発生した場合

getInstanceFollowRedirects

public boolean getInstanceFollowRedirects()
リダイレクトを行うかどうかを返します。

戻り値:
リダイレクトする場合は true、 しない場合は false

getOutputStream

public OutputStream getOutputStream()
                             throws IOException
リクエストで出力する出力ストリームを戻します。

戻り値:
出力ストリーム
例外:
IOException - IO エラーが発生した場合

getRequestProperty

public String getRequestProperty(String key)
リクエストプロパティを返します。

パラメータ:
key - キー
戻り値:
リソースの値

getResponseCode

public int getResponseCode()
                    throws IOException
HTTP レスポンスコードを返します。

戻り値:
HTTP レスポンスコード
例外:
IOException - IO エラーが発生した場合

plainConnect

protected void plainConnect()
                     throws IOException
直接接続します。

例外:
IOException - IO エラーが発生した場合

proxiedConnect

protected void proxiedConnect()
                       throws IOException
プロキシ経由で接続します。

例外:
IOException - IO エラーが発生した場合

release

protected void release()
リソースを解放します。


removeCache

public void removeCache()
キャッシュデータを破棄します。

定義:
インタフェース CacheSupported 内の removeCache

setInstanceFollowRedirects

public void setInstanceFollowRedirects(boolean followRedirects)
リダイレクトを行うかどうかを設定します。

パラメータ:
followRedirects - リダイレクトする場合は true、 しない場合は false

setRequestProperty

public void setRequestProperty(String key,
                               String value)
リクエストプロパティを設定します。

パラメータ:
key - キー
value - 値

setupCache

public void setupCache(CacheManager cm,
                       PostData pd)
キャッシュマネージャを使用できるようにセットアップします。

定義:
インタフェース CacheSupported 内の setupCache
パラメータ:
cm - キャッシュマネージャ
pd - POST データ

setupProxy

protected void setupProxy(String host,
                          int port)
プロキシを設定します。

パラメータ:
host - ホスト、使用しない場合は null
port - ポート、使用しない場合は -1

setupRequests

protected MessageHeader setupRequests()
HTTP リクエストヘッダーをセットアップし、 接続に使用するリクエストヘッダーを返します。

このメソッド内で、requests フィールドを設定し、 実際のリクエストで使用するリクエストヘッダーを戻り値として 返す必要があります。これにより、URLConnection を使用している クライアントに返すリクエストヘッダーの値と、 実際に送信するリクエストヘッダーを別にすることが出来ます。

戻り値:
実際に使用するリクエストヘッダー

usingProxy

public boolean usingProxy()
プロキシを利用するかどうかを返します。

戻り値:
プロキシを利用する場合は true、 利用しない場合は false

Kagetaka

Copyright (c) 2002-2004 The Kagetaka Project 'November 20, 2004'