KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > client > framework > HTTPMessage


1 package com.quikj.client.framework;
2
3 import java.util.*;
4
5 public abstract class HTTPMessage
6 {
7     public HTTPMessage()
8     {
9     }
10
11     public abstract String JavaDoc format();
12     
13     public void addHeader (String JavaDoc key, String JavaDoc value)
14     {
15     HTTPMessageHeader header = new HTTPMessageHeader (key, value);
16     headerFields.addElement (header);
17     }
18
19     public String JavaDoc findHeader (String JavaDoc key)
20     {
21     int size = headerFields.size();
22
23     for (int i = 0; i < size; i++)
24         {
25         HTTPMessageHeader header = (HTTPMessageHeader)headerFields.elementAt (i);
26         String JavaDoc hkey = header.getKey();
27
28         if (hkey.equalsIgnoreCase(key) == true)
29             {
30             return header.getValue();
31             }
32         }
33
34     return null;
35     }
36
37     public int getNumHeaders()
38     {
39     return headerFields.size();
40     }
41
42     public HTTPMessageHeader getHeaderAt (int index)
43     {
44     return (HTTPMessageHeader)headerFields.elementAt (index);
45     }
46
47     public void setBody (char[] body)
48     {
49     this.body = body;
50     }
51
52     public int getBodyLength()
53     {
54     if (body == null)
55         {
56         return 0;
57         }
58     else
59         {
60         return body.length;
61         }
62     }
63
64     public char[] getBody()
65     {
66     return body;
67     }
68
69     public String JavaDoc formatHeaderAndBody()
70     {
71     StringBuffer JavaDoc buffer = new StringBuffer JavaDoc();
72     int size = getNumHeaders();
73
74     for (int i = 0; i < size; i++)
75         {
76         HTTPMessageHeader header = getHeaderAt (i);
77         buffer.append (header.getKey() + ": " + header.getValue()
78                    + "\r\n");
79         }
80
81     int body_length = getBodyLength();
82     if (body_length > 0)
83         {
84         buffer.append ("Content-Length: "
85                    + body_length
86                    + "\r\n");
87         }
88
89     buffer.append ("\r\n");
90
91     if (body_length > 0)
92         {
93         buffer.append (getBody());
94         }
95     
96     return buffer.toString();
97     }
98
99     private Vector headerFields = new Vector();
100     private char[] body;
101 }
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
Popular Tags