/**
* Copyright 2009 Joe LaPenna
*/
package com.joelapenna.foursquare.http;
import com.joelapenna.foursquare.error.FoursquareCredentialsException;
import com.joelapenna.foursquare.error.FoursquareException;
import com.joelapenna.foursquare.error.FoursquareParseException;
import com.joelapenna.foursquare.parsers.Parser;
import com.joelapenna.foursquare.types.FoursquareType;
import org.apache.http.NameValuePair;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpRequestBase;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
/**
* @author Joe LaPenna (joe@joelapenna.com)
*/
public interface HttpApi {
abstract public FoursquareType doHttpRequest(HttpRequestBase httpRequest,
Parser<? extends FoursquareType> parser) throws FoursquareCredentialsException,
FoursquareParseException, FoursquareException, IOException;
abstract public String doHttpPost(String url, NameValuePair... nameValuePairs)
throws FoursquareCredentialsException, FoursquareParseException, FoursquareException,
IOException;
abstract public HttpGet createHttpGet(String url, NameValuePair... nameValuePairs);
abstract public HttpPost createHttpPost(String url, NameValuePair... nameValuePairs);
abstract public HttpURLConnection createHttpURLConnectionPost(URL url, String boundary)
throws IOException;
}