com.adobe.cq.mcm.campaign.CampaignProxy Maven / Gradle / Ivy
package com.adobe.cq.mcm.campaign;
import com.day.cq.mcm.campaign.CampaignCredentials;
import com.day.cq.mcm.campaign.CampaignException;
import com.day.cq.wcm.webservicesupport.Configuration;
import org.apache.sling.api.resource.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;
/**
* Provides means to proxy requests to Adobe Campaign.
*
* Should be used by servlet implementations that simply forward requests to Adobe
* Campaign and transfer the result of the request back to the client.
*/
public interface CampaignProxy {
/**
* Proxies a GET request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param params The URL parameters
* @param credentials The credentials for accessing the Campaign instance
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void get(String remoteFunction, Map params,
CampaignCredentials credentials, HttpServletResponse response)
throws CampaignException;
/**
* Proxies a GET request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param params The URL parameters
* @param resource The resource the request is addressing (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void get(String remoteFunction, Map params, Resource resource,
HttpServletResponse response) throws CampaignException;
/**
* Proxies a GET request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param params The URL parameters
* @param config The cloud service configuration to be used (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void get(String remoteFunction, Map params, Configuration config,
HttpServletResponse response) throws CampaignException;
/**
* Proxies a POST request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param postData Post data
* @param credentials The credentials for accessing the Campaign instance
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void post(String remoteFunction, Map postData,
CampaignCredentials credentials, HttpServletResponse response)
throws CampaignException;
/**
* Proxies a POST request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param postData Post data
* @param resource The resource the request is addressing (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void post(String remoteFunction, Map postData, Resource resource,
HttpServletResponse response)
throws CampaignException;
/**
* Proxies a POST request to the specified Campaign method.
*
* @param remoteFunction The remote function (including AC namespace + extension)
* @param postData Post data
* @param config The cloud service configuration to be used (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void post(String remoteFunction, Map postData,
Configuration config, HttpServletResponse response)
throws CampaignException;
/**
* Proxies a GET request with Basic authentication to the specified Campaign
* method.
*
* This is required for the query API in ".next style".
*
* @param url The remote function (including AC namespace + extension)
* @param credentials The credentials for accessing the Campaign instance
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void getWithBasicAuth(String url, CampaignCredentials credentials,
HttpServletResponse response) throws CampaignException;
/**
* Proxies a GET request with Basic authentication to the specified Campaign
* method.
*
* This is required for the query API in ".next style".
*
* @param url The remote function (including AC namespace + extension)
* @param resource The resource the request is addressing (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void getWithBasicAuth(String url, Resource resource, HttpServletResponse response)
throws CampaignException;
/**
* Proxies a GET request with Basic authentication to the specified Campaign
* method.
*
* This is required for the query API in ".next style".
*
* @param url The remote function (including AC namespace + extension)
* @param config The cloud service configuration to be used (for retrieving credentials
* for accessing the Campaign instance)
* @param response The response
* @throws CampaignException if the request could not be proxied
*/
void getWithBasicAuth(String url, Configuration config,
HttpServletResponse response) throws CampaignException;
}