/* * Copyright (C) 2010 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License 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 tests.http; import java.util.List; /** * An HTTP request that came into the mock web server. */ public final class RecordedRequest { private final String requestLine; private final List headers; private final List chunkSizes; private final int bodySize; private final byte[] body; private final int sequenceNumber; RecordedRequest(String requestLine, List headers, List chunkSizes, int bodySize, byte[] body, int sequenceNumber) { this.requestLine = requestLine; this.headers = headers; this.chunkSizes = chunkSizes; this.bodySize = bodySize; this.body = body; this.sequenceNumber = sequenceNumber; } public String getRequestLine() { return requestLine; } public List getHeaders() { return headers; } /** * Returns the sizes of the chunks of this request's body, or an empty list * if the request's body was empty or unchunked. */ public List getChunkSizes() { return chunkSizes; } /** * Returns the total size of the body of this POST request (before * truncation). */ public int getBodySize() { return bodySize; } /** * Returns the body of this POST request. This may be truncated. */ public byte[] getBody() { return body; } /** * Returns the index of this request on its HTTP connection. Since a single * HTTP connection may serve multiple requests, each request is assigned its * own sequence number. */ public int getSequenceNumber() { return sequenceNumber; } @Override public String toString() { return requestLine; } public String getMethod() { return getRequestLine().split(" ")[0]; } public String getPath() { return getRequestLine().split(" ")[1]; } }