exp-httpclient

experimental new HTTP client API for #golang (WIP)

  • 所有者: bradfitz/exp-httpclient
  • 平台:
  • 許可證:
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Rethinking Go's HTTP client

This repository explores redesigning the API for
the Go language's
net/http
Client and
Transport.

Initially, though, it collects problems with the current API. The
actual solution has not yet been designed.

FAQ

What's wrong with Go's HTTP client?

See the list of problems.

Or see the overview presentation for the problems in a different format.

What about the Server?

This repo does not aim to address the server side of the net/http
package. The server half is in better shape than the client, and it's
also easier to fix the client half without fragmenting the
ecosystem. Changing the Server interface needs to be done much more
carefully.

But even long term, it's almost certainly best for the client and server to
live in separate packages. They might share some types & code from
shared HTTP package(s).

Who's leading this effort?

Brad Fitzpatrick, @bradfitz. I've owned
the net/http package for over 8 years and have plenty of gripes about
it. I welcome all input. If we're going to finally change it, we
should get it right, so there's no need to rush this process.

Contributing

This repo is temporary and doesn't accept PRs and issues are disabled.
It will move at some point to Go's repos with Go's bots and policies.

For now, discuss at https://github.com/golang/go/issues/23707

What's the plan?

Roughly:

  • Iterate on the API & godoc repeatedly until it looks right (with a fake, panic("TODO")-only implementation)
  • Discuss, revise.
  • Add a temporary implementation (likely inefficient), wrapping the existing net/http Client.
  • Port code to use it. See if we're still happy.
  • Discuss, revise.
  • Copy net/http and golang.org/x/net/http2 code into httpclient (likely several packages).
  • Benchmark, tune, revise API as needed.
  • Redo the "legacy" net/http and golang.org/x/net/http2 client APIs as wrappers around httpclient

Of course, this is all up for debate.

主要指標

概覽
名稱與所有者bradfitz/exp-httpclient
主編程語言Go
編程語言Go (語言數: 1)
平台
許可證
所有者活动
創建於2018-09-10 16:14:09
推送於2019-01-01 18:36:05
最后一次提交2018-12-18 19:12:29
發布數0
用户参与
星數587
關注者數53
派生數13
提交數12
已啟用問題?
問題數0
打開的問題數0
拉請求數0
打開的拉請求數0
關閉的拉請求數8
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?