01: /*
02: * Copyright 1999,2004 The Apache Software Foundation.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16:
17: package org.apache.catalina;
18:
19: import javax.servlet.http.Cookie;
20:
21: /**
22: * An <b>HttpResponse</b> is the Catalina-internal facade for an
23: * <code>HttpServletResponse</code> that is to be produced,
24: * based on the processing of a corresponding <code>HttpRequest</code>.
25: *
26: * @author Craig R. McClanahan
27: * @version $Revision: 1.2 $ $Date: 2004/02/27 14:58:38 $
28: */
29:
30: public interface HttpResponse extends Response {
31:
32: // --------------------------------------------------------- Public Methods
33:
34: /**
35: * Return an array of all cookies set for this response, or
36: * a zero-length array if no cookies have been set.
37: */
38: public Cookie[] getCookies();
39:
40: /**
41: * Return the value for the specified header, or <code>null</code> if this
42: * header has not been set. If more than one value was added for this
43: * name, only the first is returned; use getHeaderValues() to retrieve all
44: * of them.
45: *
46: * @param name Header name to look up
47: */
48: public String getHeader(String name);
49:
50: /**
51: * Return an array of all the header names set for this response, or
52: * a zero-length array if no headers have been set.
53: */
54: public String[] getHeaderNames();
55:
56: /**
57: * Return an array of all the header values associated with the
58: * specified header name, or an zero-length array if there are no such
59: * header values.
60: *
61: * @param name Header name to look up
62: */
63: public String[] getHeaderValues(String name);
64:
65: /**
66: * Return the error message that was set with <code>sendError()</code>
67: * for this Response.
68: */
69: public String getMessage();
70:
71: /**
72: * Return the HTTP status code associated with this Response.
73: */
74: public int getStatus();
75:
76: /**
77: * Reset this response, and specify the values for the HTTP status code
78: * and corresponding message.
79: *
80: * @exception IllegalStateException if this response has already been
81: * committed
82: */
83: public void reset(int status, String message);
84:
85: }
|