diff options
Diffstat (limited to 'pki/base/silent/src/http/HTTPResponse.java')
| -rw-r--r-- | pki/base/silent/src/http/HTTPResponse.java | 382 |
1 files changed, 0 insertions, 382 deletions
diff --git a/pki/base/silent/src/http/HTTPResponse.java b/pki/base/silent/src/http/HTTPResponse.java deleted file mode 100644 index 8e0c6680a..000000000 --- a/pki/base/silent/src/http/HTTPResponse.java +++ /dev/null @@ -1,382 +0,0 @@ -// --- BEGIN COPYRIGHT BLOCK --- -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License as published by -// the Free Software Foundation; version 2 of the License. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU General Public License for more details. -// -// You should have received a copy of the GNU General Public License along -// with this program; if not, write to the Free Software Foundation, Inc., -// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -// -// (C) 2007 Red Hat, Inc. -// All rights reserved. -// --- END COPYRIGHT BLOCK --- - - -import java.util.ArrayList; -import java.util.StringTokenizer; - - -public class HTTPResponse -{ - // The set of cookie values included in this response. - ArrayList cookieValueList; - - // The names of the headers included in this response. - ArrayList headerNameList; - - // The values of the headers included in this response. - ArrayList headerValueList; - - // The actual data associated with this response. - byte[] responseData; - - // The HTML document included in the response, if appropriate. - HTMLDocument htmlDocument; - - // The number of bytes contained in the content of the response. - int contentLength; - - // The HTTP status code for the response. - int statusCode; - - // The MIME type of the response. - String contentType; - - // The protocol version string for this response. - String protolVersion; - - // The response message for this response. - String responseMessage; - - // Parsed Content Name/Value pair info - ArrayList contentName; - ArrayList contentValue; - - - - /** - * Creates a new HTTP response with the provided status code. - * - * @param statusCode The HTTP status code for this response. - * @param protocolVersion The protocol and version for this response. - * @param responseMessage The message associated with this response. - */ - public HTTPResponse(int statusCode, String protocolVersion, - String responseMessage) - { - this.statusCode = statusCode; - this.protolVersion = protocolVersion; - this.responseMessage = responseMessage; - - htmlDocument = null; - contentType = null; - contentLength = -1; - responseData = new byte[0]; - cookieValueList = new ArrayList(); - headerNameList = new ArrayList(); - headerValueList = new ArrayList(); - contentName = new ArrayList(); - contentValue = new ArrayList(); - } - - - - /** - * Retrieves the status code for this HTTP response. - * - * @return The status code for this HTTP response. - */ - public int getStatusCode() - { - return statusCode; - } - - - - /** - * Retrieves the protocol version for this HTTP response. - * - * @return The protocol version for this HTTP response. - */ - public String getProtocolVersion() - { - return protolVersion; - } - - - - /** - * Retrieves the response message for this HTTP response. - * - * @return The response message for this HTTP response. - */ - public String getResponseMessage() - { - return responseMessage; - } - - - - /** - * Retrieves the value of the header with the specified name. If the - * specified header has more than one value, then only the first will be - * retrieved. - * - * @return The value of the header with the specified name, or - * <CODE>null</CODE> if no such header is available. - */ - public String getHeader(String headerName) - { - String lowerName = headerName.toLowerCase(); - - for (int i=0; i < headerNameList.size(); i++) - { - if (lowerName.equals(headerNameList.get(i))) - { - return (String) headerValueList.get(i); - } - } - - return null; - } - - - - /** - * Retrieves the set of values for the specified header. - * - * @return The set of values for the specified header. - */ - public String[] getHeaderValues(String headerName) - { - ArrayList valueList = new ArrayList(); - String lowerName = headerName.toLowerCase(); - - for (int i=0; i < headerNameList.size(); i++) - { - if (lowerName.equals(headerNameList.get(i))) - { - valueList.add(headerValueList.get(i)); - } - } - - String[] values = new String[valueList.size()]; - valueList.toArray(values); - return values; - } - - - - /** - * Adds a header with the given name and value to this response. - * - * @param headerName The name of the header to add to this response. - * @param headerValue The value of the header to add to this response. - */ - public void addHeader(String headerName, String headerValue) - { - String lowerName = headerName.toLowerCase(); - headerNameList.add(lowerName); - headerValueList.add(headerValue); - - if (lowerName.equals("content-length")) - { - try - { - contentLength = Integer.parseInt(headerValue); - } catch (NumberFormatException nfe) {} - } - else if (lowerName.equals("content-type")) - { - contentType = headerValue; - } - else if (lowerName.equals("set-cookie")) - { - cookieValueList.add(headerValue); - } - } - - - - /** - * Retrieves a two-dimensional array containing the header data for this - * response, with each element being an array containing a name/value pair. - * - * @return A two-dimensional array containing the header data for this - * response. - */ - public String[][] getHeaderElements() - { - String[][] headerElements = new String[headerNameList.size()][2]; - for (int i=0; i < headerNameList.size(); i++) - { - headerElements[i][0] = (String) headerNameList.get(i); - headerElements[i][1] = (String) headerValueList.get(i); - } - - return headerElements; - } - - - - /** - * Retrieves the raw data included in this HTTP response. If the response did - * not include any data, an empty array will be returned. - * - * @return The raw data included in this HTTP response. - */ - public byte[] getResponseData() - { - return responseData; - } - - - public String getHTML() - { - String htmlString = new String(responseData); - return htmlString; - } - - public String getHTMLwithoutTags() - { - String htmlString = new String(responseData); - HTMLDocument htmldocument = new HTMLDocument(htmlString); - return htmldocument.getTextData(); - } - public void parseContent() - { - // parse the responseData byte[] buffer and split content into name - // value pair - String htmlString = new String(responseData); - StringTokenizer st = new StringTokenizer(htmlString, "\n"); - Utilities ut = new Utilities(); - - while(st.hasMoreTokens()) - { - String line = st.nextToken(); - // format for line assumed to be name="value"; format - - int eqPos = line.indexOf('=') ; - if(eqPos != -1) - { - String name = line.substring(0,eqPos); - String tempval = line.substring(eqPos+1).trim(); - String value = ut.cleanupQuotes(ut.removechar(tempval)); - - // add to array - this.contentName.add(name.trim()); - this.contentValue.add(value); - } - - } - - } - - - - public String getContentValue(String headerName) - { - for (int i=0; i < contentName.size(); i++) - { - if (headerName.equals(contentName.get(i))) - { - return (String) contentValue.get(i); - } - } - - return null; - } - - public ArrayList getContentNames() - { - return contentName; - } - - public ArrayList getContentValues() - { - return contentValue; - } - - /** - * Sets the actual data associated with this response. - * - * @param responseData The actual data associated with this response. - */ - public void setResponseData(byte[] responseData) - { - if (responseData == null) - { - this.responseData = new byte[0]; - } - else - { - this.responseData = responseData; - } - } - - - - /** - * Retrieves the content length associated with this response. - * - * @return The content length associated with this response, or -1 if no - * content length is available. - */ - public int getContentLength() - { - return contentLength; - } - - - - /** - * Retrieves the content type associated with this response. - * - * @return The content type associated with this response, or - * <CODE>null</CODE> if no content type is available. - */ - public String getContentType() - { - return contentType; - } - - - - /** - * Retrieves an array containing the values of the cookies that should be set - * based on the information in this response. - * - * @return An array containing the values of the cookies that should be set - * based on the information in this response. - */ - public String[] getCookieValues() - { - String[] cookieValues = new String[cookieValueList.size()]; - cookieValueList.toArray(cookieValues); - return cookieValues; - } - - public String getCookieValue(String headerName) - { - for (int i=0; i < cookieValueList.size(); i++) - { - System.out.println("cookie list: " + cookieValueList.get(i)); - - String temp = (String) cookieValueList.get(i); - if (temp.startsWith(headerName)) - { - return (String) cookieValueList.get(i); - } - } - - return null; - } - - -} - |
