/** * Copyright (C) 2012-2014 Gist Labs, LLC. (http://gistlabs.com) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ package com.gistlabs.mechanize; import java.io.UnsupportedEncodingException; import java.util.Map; import org.apache.http.impl.client.AbstractHttpClient; import com.gistlabs.mechanize.cookie.Cookies; import com.gistlabs.mechanize.parameters.Parameters; import com.gistlabs.mechanize.requestor.RequestBuilder; public interface Mechanize { static final String MECHANIZE_LOCATION = "MechanizeLocation"; public abstract AbstractHttpClient getClient(); public abstract RequestBuilder<Resource> doRequest(String uri); public abstract <T extends Resource> T get(String uri); public abstract <T extends Resource> T post(String uri, Map<String, String> params) throws UnsupportedEncodingException; /** * POST either URL encoded or multi-part encoded content body, based on presence of file content body parameters * @param uri * @param params * @return */ public abstract <T extends Resource> T post(String uri, Parameters params); public abstract Cookies cookies(); }