1 // Copyright 2015 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build !go1.5 6 7 package ctxhttp 8 9 import "net/http" 10 11 type requestCanceler interface { 12 CancelRequest(*http.Request) 13 } 14 15 func canceler(client *http.Client, req *http.Request) func() { 16 rc, ok := client.Transport.(requestCanceler) 17 if !ok { 18 return func() {} 19 } 20 return func() { 21 rc.CancelRequest(req) 22 } 23 }