proxy/io.ss
(module io mzscheme

  (require
   (lib "connection-manager.ss" "web-server" "private")
   (file "base.ss"))

  (provide
   read-http-line
   read-n-bytes
   write-http-line)
  
  ;; read-http-line : (U connection input-port) -> bytes
  (define (read-http-line conn)
    (let ([line (read-bytes-line
                 (if (connection? conn)
                     (connection-i-port conn)
                     conn)
                 'return-linefeed)])
      (debug "read-http-line: ~a" line)
      line))

  ;; read-n-bytes : (U connection input-port) number -> bytes
  (define (read-n-bytes conn num)
    (let ([bytes (read-bytes num
                             (if (connection? conn)
                                 (connection-i-port conn)
                                 conn))])
      (debug "read-n-bytes: ~a" bytes)
      bytes))

  ;; write-http-line : (U connection output-port) bytes -> void
  (define (write-http-line conn line)
    (let ([op (if (connection? conn)
                 (connection-o-port conn)
                 conn)])
        (write-bytes line op)
        (write-bytes #"\r\n" op)))

  

  
  )