2016-02-22 12 views
12

Tôi tự hỏi nếu gói this (httptest) có thể được sử dụng để kiểm tra các tính năng cụ thể của HTTP/2.
Bất cứ ai có thể chỉ cho tôi một số ví dụ có thể?Có thể sử dụng httptest để kiểm tra HTTP/2 không?

Tôi biết công cụ h2i, nhưng đó là một công cụ tương tác.
Tôi đang tìm một thứ có thể lập trình được.

EDIT:
Những gì tôi đang thực sự tìm kiếm là một công cụ, nơi ví dụ tôi có thể bắt đầu một đẩy từ máy chủ và thử nghiệm nó trên các mặt hàng.
Vì vậy, bằng cách sử dụng gói này, làm thế nào để tôi có quyền truy cập vào các công cụ HTTP/2 cơ bản mà nó sử dụng theo mặc định?

EDIT 2:
Tìm thấy một số ví dụ trong nguồn nghttp2: https://github.com/tatsuhiro-t/nghttp2/tree/master/integration-tests

EDIT 3: Đối với tôi có vẻ như rằng mạng gói/http2 không có nghĩa là sẽ được sử dụng trực tiếp bởi bất cứ ai. Tôi sẽ thử nghiệm với this một.

+1

Nếu bạn vào ngày 1.6, hỗ trợ cho HTTP/2 được thêm vào trong suốt 'net/http' cho HTTPS (và, tôi cho rằng, do đó cũng là' net/http/httptest'). – muru

+0

Chính xác bạn muốn làm gì? Bạn đang thử nghiệm cái gì? Giống như muru nói, httptest sử dụng gói http. – JimB

+1

Theo dõi có thể giúp bạn. [Cách kiểm tra cuộc gọi http bằng cách sử dụng httptest] (http://stackoverflow.com/questions/16154999/how-to-test-http-calls-in-go-using-httptest) – Johnson

Trả lời

0

https://github.com/summerwind/h2spec là một chương trình đi mà kiểm tra xem một máy chủ thực hiện phù hợp với RFC 7540. Nó cho phép để nghề cá nhân HTTP/2 khung như:

settings := http2.Setting{http2.SettingInitialWindowSize, 0} 
    http2Conn.fr.WriteSettings(settings) 

hoặc

var hp http2.HeadersFrameParam 
    hp.StreamID = 1 
    hp.EndStream = false 
    hp.EndHeaders = true 
    hp.BlockFragment = http2Conn.EncodeHeader(hdrs) 
    http2Conn.fr.WriteHeaders(hp) 
Các vấn đề liên quan