001: /*
002: * Copyright (c) 2001 by Matt Welsh and The Regents of the University of
003: * California. All rights reserved.
004: *
005: * Permission to use, copy, modify, and distribute this software and its
006: * documentation for any purpose, without fee, and without written agreement is
007: * hereby granted, provided that the above copyright notice and the following
008: * two paragraphs appear in all copies of this software.
009: *
010: * IN NO EVENT SHALL THE UNIVERSITY OF CALIFORNIA BE LIABLE TO ANY PARTY FOR
011: * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
012: * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE UNIVERSITY OF
013: * CALIFORNIA HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
014: *
015: * THE UNIVERSITY OF CALIFORNIA SPECIFICALLY DISCLAIMS ANY WARRANTIES,
016: * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
017: * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
018: * ON AN "AS IS" BASIS, AND THE UNIVERSITY OF CALIFORNIA HAS NO OBLIGATION TO
019: * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
020: *
021: * Author: Matt Welsh <mdw@cs.berkeley.edu>
022: *
023: */
024:
025: package com.rimfaxe.webserver.seda;
026:
027: import seda.sandStorm.api.*;
028: import seda.sandStorm.lib.aSocket.*;
029: import seda.sandStorm.lib.http.*;
030: import seda.sandStorm.core.*;
031:
032: import java.util.*;
033: import java.io.*;
034: import java.net.*;
035:
036: /**
037: * An httpResponse corresponding to a '200 OK' response.
038: *
039: * @author Matt Welsh
040: */
041: public class SedaHttpResponse extends httpResponse implements
042: httpConst, QueueElementIF {
043:
044: private static final boolean DEBUG = false;
045: private String contentType;
046:
047: /**
048: * Create an httpOKResponse with the given payload corresponding
049: * to the given request, using the given MIME content-type.
050: */
051: public SedaHttpResponse(int code, String contentType,
052: Hashtable headertable) {
053: super (code, contentType, headertable);
054: }
055:
056: /**
057: * Create an httpOKResponse with the given payload corresponding
058: * to the given request, using the given MIME content-type.
059: */
060: public SedaHttpResponse(int status, String contentType,
061: BufferElement payload, Hashtable headertable) {
062: super (status, contentType, payload, headertable);
063: }
064:
065: /**
066: * Create an httpOKResponse with the given payload corresponding
067: * to the given request, using the given MIME content-type.
068: */
069: public SedaHttpResponse(int status, String contentType,
070: BufferElement payload) {
071: super (status, contentType, payload);
072: }
073:
074: /**
075: * Create an httpOKResponse with the given payload corresponding
076: * to the given request, using the given MIME content-type. Use
077: * the given content length in the header of the response.
078: */
079: public SedaHttpResponse(int status, String contentType,
080: BufferElement payload, int contentLength) {
081: super (status, contentType, payload, contentLength);
082: }
083:
084: /**
085: * Create an httpOKResponse with a given response payload size and
086: * MIME type.
087: */
088: public SedaHttpResponse(int status, String contentType,
089: int payloadSize) {
090: super (status, contentType, payloadSize);
091: }
092:
093: /**
094: * Create an httpOKResponse with a given response payload size,
095: * MIME type, and completion sink.
096: */
097: public SedaHttpResponse(int status, String contentType,
098: int payloadSize, SinkIF compQ) {
099: super (status, contentType, payloadSize, compQ);
100: }
101:
102: protected String getEntityHeader() {
103: return null;
104: }
105:
106: public String toString() {
107: return "SedaHttpResponse [content-length=" + contentLength
108: + ", contentType=" + contentType + "]";
109: }
110:
111: }
|