Home | History | Annotate | Download | only in http

Lines Matching refs:cm

368 		cm, err := t.connectMethodForRequest(treq)
378 pconn, err := t.getConn(treq, cm)
574 func (t *Transport) connectMethodForRequest(treq *transportRequest) (cm connectMethod, err error) {
576 return cm, fmt.Errorf("invalid URL port %q", port)
578 cm.targetScheme = treq.URL.Scheme
579 cm.targetAddr = canonicalAddr(treq.URL)
581 cm.proxyURL, err = t.Proxy(treq.Request)
582 if err == nil && cm.proxyURL != nil {
583 if port := cm.proxyURL.Port(); !validPort(port) {
584 return cm, fmt.Errorf("invalid proxy URL port %q", port)
588 return cm, err
593 func (cm *connectMethod) proxyAuth() string {
594 if cm.proxyURL == nil {
597 if u := cm.proxyURL.User; u != nil {
721 func (t *Transport) getIdleConnCh(cm connectMethod) chan *persistConn {
725 key := cm.key()
740 func (t *Transport) getIdleConn(cm connectMethod) (pconn *persistConn, idleSince time.Time) {
741 key := cm.key()
865 func (t *Transport) getConn(treq *transportRequest, cm connectMethod) (*persistConn, error) {
870 trace.GetConn(cm.addr())
872 if pc, idleSince := t.getIdleConn(cm); pc != nil {
908 pc, err := t.dialConn(ctx, cm)
912 idleConnCh := t.getIdleConnCh(cm)
967 func (t *Transport) dialConn(ctx context.Context, cm connectMethod) (*persistConn, error) {
970 cacheKey: cm.key(),
978 tlsDial := t.DialTLS != nil && cm.targetScheme == "https" && cm.proxyURL == nil
981 pconn.conn, err = t.DialTLS("tcp", cm.addr())
1008 conn, err := t.dial(ctx, "tcp", cm.addr())
1010 if cm.proxyURL != nil {
1021 case cm.proxyURL == nil:
1023 case cm.targetScheme == "http":
1025 if pa := cm.proxyAuth(); pa != "" {
1030 case cm.targetScheme == "https":
1038 URL: &url.URL{Opaque: cm.targetAddr},
1039 Host: cm.targetAddr,
1042 if pa := cm.proxyAuth(); pa != "" {
1063 if cm.targetScheme == "https" && !tlsDial {
1067 cfg.ServerName = cm.tlsHost()
1111 return &persistConn{alt: next(cm.targetAddr, pconn.conn.(*tls.Conn))}, nil
1211 func (cm *connectMethod) key() connectMethodKey {
1213 targetAddr := cm.targetAddr
1214 if cm.proxyURL != nil {
1215 proxyStr = cm.proxyURL.String()
1216 if cm.targetScheme == "http" {
1222 scheme: cm.targetScheme,
1228 func (cm *connectMethod) addr() string {
1229 if cm.proxyURL != nil {
1230 return canonicalAddr(cm.proxyURL)
1232 return cm.targetAddr
1237 func (cm *connectMethod) tlsHost() string {
1238 h := cm.targetAddr