home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / sun / rmi / transport / proxy / HttpAwareServerSocket.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  1.7 KB  |  40 lines

  1. package sun.rmi.transport.proxy;
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.IOException;
  5. import java.io.OutputStream;
  6. import java.net.ServerSocket;
  7. import java.net.Socket;
  8. import java.rmi.server.LogStream;
  9.  
  10. class HttpAwareServerSocket extends ServerSocket {
  11.    public HttpAwareServerSocket(int var1) throws IOException {
  12.       super(var1);
  13.    }
  14.  
  15.    public HttpAwareServerSocket(int var1, int var2) throws IOException {
  16.       super(var1, var2);
  17.    }
  18.  
  19.    public Socket accept() throws IOException {
  20.       Socket var1 = super.accept();
  21.       BufferedInputStream var2 = new BufferedInputStream(var1.getInputStream());
  22.       if (RMIMasterSocketFactory.logLevel >= 10) {
  23.          LogStream.log("proxy").println("HttpAwareServerSocket.accept: socket accepted (checking for POST)");
  24.       }
  25.  
  26.       var2.mark(4);
  27.       boolean var3 = var2.read() == 80 && var2.read() == 79 && var2.read() == 83 && var2.read() == 84;
  28.       var2.reset();
  29.       if (RMIMasterSocketFactory.logLevel >= 10) {
  30.          LogStream.log("proxy").println("HttpAwareServerSocket.accept: " + (var3 ? "POST found, HTTP socket returned" : "POST not found, direct socket returned"));
  31.       }
  32.  
  33.       return (Socket)(var3 ? new HttpReceiveSocket(var1, var2, (OutputStream)null) : new WrappedSocket(var1, var2, (OutputStream)null));
  34.    }
  35.  
  36.    public String toString() {
  37.       return "HttpAware" + super.toString();
  38.    }
  39. }
  40.