make-http2-client-connection broken

Create issue
Issue #240 resolved
Ashish SHUKLA created an issue

Hi,

While trying to build an HTTP2 client starting from an example from the Sagittarius reference manual, I get:

sash>  (import (rfc http2))
#<unspecified>
sash> (define conn (make-http2-client-connection "twitter.com" "443" :secure? #t))
Unhandled exception
  Condition components:
  1. &error
  2. &message object of class #<class <tls-extension>> doesn't have such slot: date
  3. &stack-trace

stack trace:
  [1] tls-client-handshake
    src: (slot-ref e 'date)
    "/usr/local/share/sagittarius/0.9.2/sitelib/rfc/tls/socket.scm":204
  [2] make-http2-client-connection
  [3] #f
    src: (make-http2-client-connection "twitter.com" "443" 
  [4] eval
  [5] #f
    src: ((current-evaluator) form interactive-environment)
    "/usr/local/share/sagittarius/0.9.2/lib/sagittarius/interactive.scm":147
  [6] with-error-handler
  [7] read-eval-print-loop
    src: (call-with-current-continuation (lambda (continue)
    "/usr/local/share/sagittarius/0.9.2/lib/sagittarius/interactive.scm":130
  [8] eval

I'm running on FreeBSD 11.1 (amd64) with OpenSSL 1.0.2o, in case this is of use.

Please let me know if you need more information from me.

Thanks!

Comments (3)

  1. Takashi Kato repo owner

    Thank you for the report!

    This is enbugged when the TLS socket is switched to OpenSSL (or SChannel). I'll look into it asap.

  2. Takashi Kato repo owner

    The following 3 commits resolve the issue: - d231417 - ce26f66 - 3d95a82

    The WINDOW UPDATE is not handled properly (probably) so that raw encoding of a large number of data frames can't be handled (e.g. Getting Twitter content may require :accept-encoding "gzip" or so)

  3. Log in to comment