1 4 package gnu.kawa.servlet; 5 import gnu.kawa.xml.*; 6 import java.io.*; 7 import javax.servlet.*; 8 import javax.servlet.http.*; 9 10 13 14 public class ServletPrinter extends HttpPrinter 15 { 16 HttpServletResponse response; 17 18 public ServletPrinter(HttpServletResponse response) 19 throws IOException 20 { 21 super(response.getOutputStream()); 22 this.response = response; 23 } 24 25 public ServletPrinter(OutputStream ostream) 26 { 27 super(ostream); 28 } 29 30 public void addHeader(String label, String value) 31 { 32 if (label.equalsIgnoreCase("Content-type")) 33 { 34 super.sawContentType = value; 35 response.setContentType(value); 36 } 37 else if (label.equalsIgnoreCase("Status")) 38 { 39 int lval = value.length(); 40 int code = 0; 41 int i; 42 for (i = 0; i < lval; i++) 43 { 44 if (i >= lval) 45 { 46 try 47 { 48 response.sendError(code); 49 } 50 catch (java.io.IOException ex) 51 { 52 System.err.println("caught "+ex); 53 } 54 break; 55 } 56 char ch = value.charAt(i); 57 int digit = Character.digit(ch, 10); 58 if (digit >= 0) 59 code = 10 * code + digit; 60 else 61 { 62 if (ch == ' ') 63 i++; 64 try 65 { 66 response.sendError(code, value.substring(i)); 67 } 68 catch (java.io.IOException ex) 69 { 70 System.err.println("caught "+ex); 71 } 72 break; 73 } 74 } 75 } 76 else 77 response.addHeader(label, value); 78 } 79 80 public void printHeaders() 81 { 82 } 83 } 84 | Popular Tags |