C# Class IBM.Cloudant.Client.CookieInterceptor

Adds cookie authentication support to http requests. It does this by adding the cookie header for CouchDB using request interceptor pipeline in IBM.Cloudant.Client.HttpHelper. If a response has a response code of 401, it will fetch a cookie from the server using provided credentials and tell IBM.Cloudant.Client.HttpHelper to reply the request by setting IBM.Cloudant.Client.HttpConnectionInterceptorContext.replayRequest property to true. If the request to get the cookie for use in future request fails with a 401 status code (or any status that indicates client error) cookie authentication will not be attempted again.
This class is used for adding cookie authentication to HTTP requests.
Inheritance: IHttpConnectionRequestInterceptor, IHttpConnectionResponseInterceptor
Show file Open project: cloudant/xamarin-cloudant Class Usage Examples

Public Methods

Method Description
CookieInterceptor ( string username, string password ) : System

Initializes a new instance of the IBM.Cloudant.Client.CookieInterceptor class.

InterceptRequest ( HttpConnectionInterceptorContext context ) : HttpConnectionInterceptorContext

Intercepts the HttpRequest before it is sent.

InterceptResponse ( HttpConnectionInterceptorContext context ) : HttpConnectionInterceptorContext

Intercepts the HttpResponse before it is consumed.

Private Methods

Method Description
GetCookie ( Uri uri ) : string
SessionHasStarted ( HttpContent content ) : System.Boolean

Method Details

CookieInterceptor() public method

Initializes a new instance of the IBM.Cloudant.Client.CookieInterceptor class.
public CookieInterceptor ( string username, string password ) : System
username string The username to use when getting the cookie
password string The password to use when getting the cookie
return System

InterceptRequest() public method

Intercepts the HttpRequest before it is sent.
public InterceptRequest ( HttpConnectionInterceptorContext context ) : HttpConnectionInterceptorContext
context HttpConnectionInterceptorContext Http connection interceptor context with the current state.
return HttpConnectionInterceptorContext

InterceptResponse() public method

Intercepts the HttpResponse before it is consumed.
public InterceptResponse ( HttpConnectionInterceptorContext context ) : HttpConnectionInterceptorContext
context HttpConnectionInterceptorContext Http connection interceptor context with the current state
return HttpConnectionInterceptorContext