/*
* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights
* Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is
* distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either
* express or implied. See the License for the specific language
* governing
* permissions and limitations under the License.
*/
package com.amazonaws.http.request;
import com.amazonaws.AmazonWebServiceRequest;
import com.amazonaws.ReadLimitInfo;
import com.amazonaws.Request;
import com.amazonaws.handlers.HandlerContextKey;
import com.amazonaws.http.HttpMethodName;
import com.amazonaws.util.AWSRequestMetrics;
import java.io.InputStream;
import java.net.URI;
import java.util.Collections;
import java.util.List;
import java.util.Map;
public class EmptyHttpRequest implements Request<Object> {
private final URI endpoint;
private final HttpMethodName httpMethod;
private AmazonWebServiceRequest originalRequest = new AmazonWebServiceRequest() {
};
private final InputStream content;
public EmptyHttpRequest(String endpoint, HttpMethodName httpMethod) {
this(endpoint, httpMethod, null);
}
public EmptyHttpRequest(String endpoint, HttpMethodName httpMethod,
InputStream payload) {
this.endpoint = URI.create(endpoint);
this.httpMethod = httpMethod;
this.content = payload;
}
@Override
public void addHeader(String name, String value) {
}
@Override
public Map<String, String> getHeaders() {
return Collections.emptyMap();
}
@Override
public void setHeaders(Map<String, String> headers) {
}
@Override
public void setResourcePath(String path) {
}
@Override
public String getResourcePath() {
return null;
}
@Override
public void addParameter(String name, String value) {
}
@Override
public Request<Object> withParameter(String name, String value) {
return this;
}
@Override
public void addParameters(String name, List<String> values) {
}
@Override
public Map<String, List<String>> getParameters() {
return Collections.emptyMap();
}
@Override
public void setParameters(Map<String, List<String>> parameters) {
}
@Override
public URI getEndpoint() {
return endpoint;
}
@Override
public void setEndpoint(URI endpoint) {
throw new UnsupportedOperationException();
}
@Override
public HttpMethodName getHttpMethod() {
return httpMethod;
}
@Override
public void setHttpMethod(HttpMethodName httpMethod) {
throw new UnsupportedOperationException();
}
@Override
public InputStream getContent() {
return content;
}
@Override
public void setContent(InputStream content) {
}
@Override
public String getServiceName() {
return null;
}
@Override
public AmazonWebServiceRequest getOriginalRequest() {
return originalRequest;
}
public void setOriginalRequest(AmazonWebServiceRequest originalRequest) {
this.originalRequest = originalRequest;
}
@Override
public int getTimeOffset() {
return 0;
}
@Override
public void setTimeOffset(int timeOffset) {
}
@Override
public Request<Object> withTimeOffset(int timeOffset) {
return this;
}
@Override
public AWSRequestMetrics getAWSRequestMetrics() {
return null;
}
@Override
public void setAWSRequestMetrics(AWSRequestMetrics metrics) {
}
@Override
public ReadLimitInfo getReadLimitInfo() {
return new AmazonWebServiceRequest() {
};
}
@Override
public InputStream getContentUnwrapped() {
return null;
}
@Override
public Object getOriginalRequestObject() {
return new AmazonWebServiceRequest() {
};
}
@Override
public <X> void addHandlerContext(HandlerContextKey<X> key, X value) {
}
@Override
public <X> X getHandlerContext(HandlerContextKey<X> key) {
return null;
}
}