/*******************************************************************************
* Copyright (c) Feb 9, 2011 Zend Technologies Ltd.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*******************************************************************************/
package org.zend.webapi.internal.core.connection.request;
import java.util.Date;
import org.restlet.data.Method;
import org.zend.webapi.core.connection.data.IResponseData.ResponseType;
import org.zend.webapi.core.connection.data.values.ServerType;
import org.zend.webapi.core.connection.data.values.WebApiVersion;
import org.zend.webapi.core.connection.response.ResponseCode;
/**
* Export the current server / cluster configuration into a file.
* <p>
* A successful call to the configurationExport method will result in an HTTP
* response with the configuration snapshot file in the response body. The
* content type for the configuration snapshot file is
* application/vnd.zend.serverconfig. In addition, the response will include a
* Content-disposition header specifying a suggested file name for the
* configuration snapshot file. This is different from most Web API calls where
* the content type is expected to be application/vnd.zend.serverpi+xml;
* version= and the response body payload is expected to be in XML format. In
* case of error, a regular error response will be returned, containing an
* <errorData> element as defined for other Web API methods.
* <p>
*
* Method Parameters: none
*
* @author Roy, 2011
*
*/
public class ConfigurationExportRequest extends AbstractRequest {
private static final ResponseCode[] RESPONSE_CODES = new ResponseCode[] { ResponseCode.OK };
public ConfigurationExportRequest(WebApiVersion version, Date date,
String keyName, String userAgent, String host, String secretKey,
ServerType type) {
super(version, date, keyName, userAgent, host, secretKey, type);
}
/*
* (non-Javadoc)
*
* @see org.zend.webapi.core.connection.request.IRequest#getMethod()
*/
public Method getMethod() {
return Method.GET;
}
/*
* (non-Javadoc)
*
* @see org.zend.webapi.internal.core.connection.request.AbstractRequest#
* getResponseCodeList()
*/
@Override
protected ResponseCode[] getValidResponseCode() {
return RESPONSE_CODES;
}
/*
* (non-Javadoc)
*
* @see
* org.zend.webapi.core.connection.request.IRequest#getExpectedResponseDataType
* ()
*/
public ResponseType getExpectedResponseDataType() {
return ResponseType.SERVER_CONFIG;
}
/*
* (non-Javadoc)
*
* @see org.zend.webapi.internal.core.connection.request.AbstractRequest#
* getMethodName()
*/
protected String getRequestName() {
return "configurationExport";
}
}