]> Cypherpunks repositories - gostls13.git/commit
http: Transport hook to register non-http(s) protocols
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 25 May 2011 19:31:11 +0000 (12:31 -0700)
committerBrad Fitzpatrick <bradfitz@golang.org>
Wed, 25 May 2011 19:31:11 +0000 (12:31 -0700)
commit0836b86e8b0456997663b5aa14863251a0bf9b97
treea09cd138d7c3bcf659fb113b3ea3bbc34a482211
parent1b6bf88767c5b0df2bfe22299fccad03f0a6e6a8
http: Transport hook to register non-http(s) protocols

This permits external packages implementing e.g.
FTP or gopher to register themselves with the
http.DefaultClient:

package ftp
func init() {
    http.DefaultTransport.RegisterProtocol("ftp", &ftp{})
}

Client code would look like:

import (
    _ "github.com/exampleuser/go/gopher"
    _ "github.com/exampleuser/go/ftp"
)

func main() {
    resp, err := http.Get("ftp://example.com/path.txt")
    ...
}

R=dsymonds, rsc
CC=golang-dev
https://golang.org/cl/4526077
src/pkg/http/transport.go
src/pkg/http/transport_test.go