C# Class OpenTween.HttpConnectionOAuth

OAuth認証を使用するHTTP通信。HMAC-SHA1固定
使用前に認証情報を設定する。認証確認を伴う場合はAuthenticate系のメソッドを、認証不要な場合はInitializeを呼ぶこと。
Inheritance: OpenTween.HttpConnection, OpenTween.IHttpConnection
Datei anzeigen Open project: rhenium/OpenTween

Public Methods

Method Description
GetContent ( string method, Uri requestUri, string>.Dictionary param, FileInfo>.List binary, string &content, string>.Dictionary headerInfo, CallbackDelegate callback ) : HttpStatusCode

バイナリアップロード

GetContent ( string method, Uri requestUri, string>.Dictionary param, Stream &content, string userAgent ) : HttpStatusCode

OAuth認証で指定のURLとHTTP通信を行い、ストリームを返す

GetContent ( string method, Uri requestUri, string>.Dictionary param, string &content, string>.Dictionary headerInfo, CallbackDelegate callback ) : HttpStatusCode

OAuth認証で指定のURLとHTTP通信を行い、結果を返す

HttpConnectionOAuth ( OAuthConsumer consumer ) : System

初期化。各種トークンの設定とユーザー識別情報設定

HttpConnectionOAuth ( OAuthCredential credential ) : System

初期化。各種トークンの設定とユーザー識別情報設定

RequestAbort ( ) : void

Protected Methods

Method Description
AppendOAuthInfo ( HttpWebRequest.HttpWebRequest req, string>.Dictionary parameter ) : void

HTTPリクエストにOAuth関連ヘッダを追加

CreateSignature ( string tokenSecret, string method, Uri uri, string>.Dictionary oauthParameters, string>.Dictionary parameters ) : string

OAuth認証ヘッダの署名作成

GetAccessCredential ( Uri accessTokenUri, string oauthVerifier ) : NameValueCollection

OAuth認証のアクセストークン取得。PIN入力用の後段

事前にAuthenticatePinFlowRequestを呼んで、ブラウザで認証後に表示されるPINを入力してもらい、その値とともに呼び出すこと

GetAuthorizationHeader ( string method, Uri uri, string>.Dictionary parameters = null, string realm = null ) : string
GetOAuthParameter ( ) : string>.Dictionary

OAuthで使用する共通情報を取得する

GetRequestCredential ( Uri requestTokenUri, string oauthCallback = "oob" ) : NameValueCollection

OAuth認証のリクエストトークン取得。リクエストトークンと組み合わせた認証用のUriも生成する

Private Methods

Method Description
GetOAuthCredential ( Uri uri, string>.Dictionary parameter, NameValueCollection &ret ) : OAuthCredential

Method Details

AppendOAuthInfo() protected method

HTTPリクエストにOAuth関連ヘッダを追加
protected AppendOAuthInfo ( HttpWebRequest.HttpWebRequest req, string>.Dictionary parameter ) : void
req System.Net.HttpWebRequest.HttpWebRequest
parameter string>.Dictionary
return void

CreateSignature() protected method

OAuth認証ヘッダの署名作成
protected CreateSignature ( string tokenSecret, string method, Uri uri, string>.Dictionary oauthParameters, string>.Dictionary parameters ) : string
tokenSecret string アクセストークン秘密鍵
method string HTTPメソッド文字列
uri System.Uri アクセス先Uri
oauthParameters string>.Dictionary クエリ、もしくはPOSTデータ
parameters string>.Dictionary
return string

GetAccessCredential() protected method

OAuth認証のアクセストークン取得。PIN入力用の後段
事前にAuthenticatePinFlowRequestを呼んで、ブラウザで認証後に表示されるPINを入力してもらい、その値とともに呼び出すこと
protected GetAccessCredential ( Uri accessTokenUri, string oauthVerifier ) : NameValueCollection
accessTokenUri System.Uri
oauthVerifier string
return NameValueCollection

GetAuthorizationHeader() protected method

protected GetAuthorizationHeader ( string method, Uri uri, string>.Dictionary parameters = null, string realm = null ) : string
method string
uri System.Uri
parameters string>.Dictionary
realm string
return string

GetContent() public method

バイナリアップロード
public GetContent ( string method, Uri requestUri, string>.Dictionary param, FileInfo>.List binary, string &content, string>.Dictionary headerInfo, CallbackDelegate callback ) : HttpStatusCode
method string
requestUri System.Uri
param string>.Dictionary
binary FileInfo>.List
content string
headerInfo string>.Dictionary
callback CallbackDelegate
return HttpStatusCode

GetContent() public method

OAuth認証で指定のURLとHTTP通信を行い、ストリームを返す
public GetContent ( string method, Uri requestUri, string>.Dictionary param, Stream &content, string userAgent ) : HttpStatusCode
method string HTTP通信メソッド(GET/HEAD/POST/PUT/DELETE)
requestUri System.Uri 通信先URI
param string>.Dictionary GET時のクエリ、またはPOST時のエンティティボディ
content Stream [OUT]HTTP応答のボディストリーム
userAgent string
return HttpStatusCode

GetContent() public method

OAuth認証で指定のURLとHTTP通信を行い、結果を返す
public GetContent ( string method, Uri requestUri, string>.Dictionary param, string &content, string>.Dictionary headerInfo, CallbackDelegate callback ) : HttpStatusCode
method string HTTP通信メソッド(GET/HEAD/POST/PUT/DELETE)
requestUri System.Uri 通信先URI
param string>.Dictionary GET時のクエリ、またはPOST時のエンティティボディ
content string [OUT]HTTP応答のボディデータ
headerInfo string>.Dictionary [IN/OUT]HTTP応答のヘッダ情報。必要なヘッダ名を事前に設定しておくこと
callback CallbackDelegate 処理終了直前に呼ばれるコールバック関数のデリゲート 不要な場合はNothingを渡すこと
return HttpStatusCode

GetOAuthParameter() protected method

OAuthで使用する共通情報を取得する
protected GetOAuthParameter ( ) : string>.Dictionary
return string>.Dictionary

GetRequestCredential() protected method

OAuth認証のリクエストトークン取得。リクエストトークンと組み合わせた認証用のUriも生成する
protected GetRequestCredential ( Uri requestTokenUri, string oauthCallback = "oob" ) : NameValueCollection
requestTokenUri System.Uri
oauthCallback string
return NameValueCollection

HttpConnectionOAuth() public method

初期化。各種トークンの設定とユーザー識別情報設定
public HttpConnectionOAuth ( OAuthConsumer consumer ) : System
consumer OAuthConsumer
return System

HttpConnectionOAuth() public method

初期化。各種トークンの設定とユーザー識別情報設定
public HttpConnectionOAuth ( OAuthCredential credential ) : System
credential OAuthCredential アクセスクレデンシャル
return System

RequestAbort() public method

public RequestAbort ( ) : void
return void