fixed bug 440, reintroduced splash screen
[org.ibex.core.git] / src / org / ibex / HTTP.java
index 5cf4e3a..a8389b1 100644 (file)
@@ -29,6 +29,8 @@ public class HTTP {
 
     public static class HTTPException extends IOException { public HTTPException(String s) { super(s); } }
 
+    public static HTTP stdio = new HTTP("stdio:");
+
 
     // Statics ///////////////////////////////////////////////////////////////////////////////////////////////
 
@@ -86,7 +88,7 @@ public class HTTP {
             // previous call wrecked the socket connection, but we already sent our request, so we can't just retry --
             // this could cause the server to receive the request twice, which could be bad (think of the case where the
             // server call causes Amazon.com to ship you an item with one-click purchasing).
-            if (sock == null)
+            if (in == null)
                 throw new HTTPException("a previous pipelined call messed up the socket");
             
             Hashtable h = in == null ? null : parseHeaders(in);
@@ -579,6 +581,8 @@ public class HTTP {
             if (buflen >= 4 && buf[buflen - 4] == '\r' && buf[buflen - 3] == '\n' &&
                 buf[buflen - 2] == '\r' && buf[buflen - 1] == '\n')
                 break;
+            if (buflen >=2 && buf[buflen - 1] == '\n' && buf[buflen - 2] == '\n')
+                break;  // nice for people using stdio
             if (buflen == buf.length) {
                 byte[] newbuf = new byte[buf.length * 2];
                 System.arraycopy(buf, 0, newbuf, 0, buflen);
@@ -648,8 +652,6 @@ public class HTTP {
     /** encapsulates most of the proxy logic; some is shared in HTTP.java */
     public static class Proxy {
         
-        public Proxy() { }
-        
         public String httpProxyHost = null;                  ///< the HTTP Proxy host to use
         public int httpProxyPort = -1;                       ///< the HTTP Proxy port to use
         public String httpsProxyHost = null;                 ///< seperate proxy for HTTPS
@@ -780,7 +782,9 @@ public class HTTP {
                 Scheduler.add(new Scheduler.Task() {
                         public void perform() throws IOException, JSExn {
                             Box b = new Box();
-                            Template t = Template.buildTemplate(Stream.getInputStream((JS)Main.builtin.get("org/ibex/builtin/proxy_authorization.ibex")), new Ibex(null));
+                            Template t = null;
+                            // FIXME
+                            //Template.buildTemplate("org/ibex/builtin/proxy_authorization.ibex", Stream.getInputStream((JS)Main.builtin.get("org/ibex/builtin/proxy_authorization.ibex")), new Ibex(null));
                             t.apply(b);
                             b.put("realm", realm);
                             b.put("proxyIP", proxyIP);