1 /*
2 * @(#)RoRequest.java 0.3-3 06/05/2001
3 *
4 * This file is part of the HTTPClient package
5 * Copyright (C) 1996-2001 Ronald Tschalär
6 *
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version.
11 *
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
16 *
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free
19 * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
20 * MA 02111-1307, USA
21 *
22 * For questions, suggestions, bug-reports, enhancement-requests etc.
23 * I may be contacted at:
24 *
25 * ronald@innovation.ch
26 *
27 * The HTTPClient's home page is located at:
28 *
29 * http://www.innovation.ch/java/HTTPClient/
30 *
31 */
32
33 package HTTPClient;
34
35
36 /**
37 * This interface represents the read-only interface of an http request.
38 * It is the compile-time type passed to various handlers which might
39 * need the request info but musn't modify the request.
40 *
41 * @version 0.3-3 06/05/2001
42 * @author Ronald Tschalär
43 */
44 public interface RoRequest
45 {
46 /**
47 * @return the HTTPConnection this request is associated with
48 */
49 public HTTPConnection getConnection();
50
51 /**
52 * @return the request method
53 */
54 public String getMethod();
55
56 /**
57 * @return the request-uri
58 */
59 public String getRequestURI();
60
61 /**
62 * @return the headers making up this request
63 */
64 public NVPair[] getHeaders();
65
66 /**
67 * @return the body of this request
68 */
69 public byte[] getData();
70
71 /**
72 * @return the output stream on which the body is written
73 */
74 public HttpOutputStream getStream();
75
76 /**
77 * @return true if the modules or handlers for this request may popup
78 * windows or otherwise interact with the user
79 */
80 public boolean allowUI();
81 }