[racket] Using get-pure-port
Two hours ago, Shogo Yamazaki wrote:
> Thanks for your help.
> The way you suggested worked for me.
>
> By the way, I found that adding a line to the definition of
> http-pipe-data in url-unit.rkt might resolve my problem either.
> But I hardly understand what I'm doing.
>
> (define (http-pipe-data chunked? ip op)
> (if chunked?
> (http-pipe-chunk ip op)
> (begin
> (copy-port ip op)
> (close-input-port ip) ;### I added this line ###
> (flush-output op)
> (close-output-port op))))
Instead of the above, I've committed:
(define (purify-http-port in-port)
(define-values (in-pipe out-pipe) (make-pipe))
(thread
(λ ()
(define status (http-read-status in-port))
(define chunked? (http-read-headers in-port))
(http-pipe-data chunked? in-port out-pipe)
(close-input-port in-port))) ; <------------- this
in-pipe)
instead, so it's done in a more obvious place.
--
((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
http://barzilay.org/ Maze is Life!