HTTPResponseHeader.java
上传用户:huihesys
上传日期:2007-01-04
资源大小:3877k
文件大小:2k
源码类别:

WEB邮件程序

开发平台:

C/C++

  1. /* $Id: HTTPResponseHeader.java,v 1.1.1.1 2000/02/01 12:01:37 wastl Exp $ */
  2. package net.wastl.webmail.server.http;
  3. import java.io.*;
  4. import java.util.*;
  5. import java.text.*;
  6. import net.wastl.webmail.server.WebMailServer;
  7. import net.wastl.webmail.debug.ErrorHandler;
  8. /**
  9.  * HTTPHeader.java
  10.  *
  11.  *
  12.  * Created: Tue Feb  2 15:25:48 1999
  13.  *
  14.  * @author Sebastian Schaffert
  15.  * @version $Revision: 1.1.1.1 $
  16.  */
  17. public class HTTPResponseHeader  {
  18.     private String status;
  19.     private int response_code;
  20.     private String http_version="HTTP/1.1";
  21.     private String response_line;
  22.     private Hashtable headers;
  23.     public HTTPResponseHeader(int response_code,String status) {
  24. headers=new Hashtable();
  25. this.response_code=response_code;
  26. this.status=status;
  27. response_line=http_version+" "+response_code+" "+status;
  28. putHeader("Server","JWebMail/"+WebMailServer.VERSION);
  29. SimpleTimeZone tz=new SimpleTimeZone(0,"GMT");
  30. SimpleDateFormat df=new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", new Locale("en","UK"));
  31. df.setTimeZone(tz);
  32. String now=df.format(new Date());
  33. String now_plus_5=df.format(new Date(System.currentTimeMillis()+300000));
  34. putHeader("Date",now);
  35. putHeader("Expires",now_plus_5);
  36. putHeader("Pragma","no-cache");
  37. putHeader("Cache-Control","must-revalidate");
  38. putHeader("Allow","GET, POST");
  39.     }
  40.     public String getResponseLine() {
  41. return response_line;
  42.     }
  43.     public void putHeader(String key,String value) {
  44. headers.remove(key);
  45. headers.put(key,value);
  46.     }
  47.     public String getHeader(String t) {
  48. return (String)headers.get(t);
  49.     }
  50.     public void removeHeader(String key) {
  51. headers.remove(key);
  52.     }
  53.     public Enumeration getHeaderKeys() {
  54. return headers.keys();
  55.     }
  56.     public String toString() {
  57. String s=response_line+"rn";
  58. Enumeration e=headers.keys();
  59. while(e.hasMoreElements()) {
  60.     String h=(String)e.nextElement();
  61.     s+=h+": "+headers.get(h)+"rn";
  62. }
  63. s+="rn";
  64. return s;
  65.     }
  66.     
  67. } // HTTPHeader