Skip to content

Documentation around sending HTTP/3 over the DatagramStream #8

@adirags

Description

@adirags

Hi, is there any documentation around sending a HTTP/3 request over a DatagramStream

For HTTP/1.1 over a TCPStream (quich3.Stream), we can write the http.Request over the stream

// Omitting Error Handling
tcpConn, _ := client.CreateTCPStream(target)
defer tcpConn.Close()
request, _ := http.NewRequest("GET", fmt.Sprintf("https://%s", target), nil)
request.Write(tcpConn)
reader := bufio.NewReader(tcpConn)
resp, _ := http.ReadResponse(reader, request)
defer resp.Body.Close()
bodyBytes, _ := io.ReadAll(resp.Body)

Is there a way to do the same to access an origin server over HTTP/3 using the DatagramStream? The DatagramStream implements a Write() and Read interface which can be used to write/read arbitrary bytes, but my MASQUE server - Envoy - does not seam to accept it.

I am able to use the Chromium masque_client to verify that the Envoy setup is functional to proxy HTTP/3 traffic and am looking at how I can use this package to do the same

Thanks
adirags

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions