func (r *RouteRegistry) Register(uri route.Uri, endpoint *route.Endpoint) { t := time.Now() data := lager.Data{"uri": uri, "backend": endpoint.CanonicalAddr(), "modification_tag": endpoint.ModificationTag} r.reporter.CaptureRegistryMessage(endpoint) r.Lock() uri = uri.RouteKey() pool := r.byUri.Find(uri) if pool == nil { contextPath := parseContextPath(uri) pool = route.NewPool(r.dropletStaleThreshold/4, contextPath) r.byUri.Insert(uri, pool) r.logger.Debug("uri-added", lager.Data{"uri": uri}) } endpointAdded := pool.Put(endpoint) r.timeOfLastUpdate = t r.Unlock() if endpointAdded { r.logger.Debug("endpoint-registered", data) } else { r.logger.Debug("endpoint-not-registered", data) } }
func SetRequestXCfInstanceId(request *http.Request, endpoint *route.Endpoint) { value := endpoint.PrivateInstanceId if value == "" { value = endpoint.CanonicalAddr() } request.Header.Set(router_http.CfInstanceIdHeader, value) }
func (r *RouteRegistry) Unregister(uri route.Uri, endpoint *route.Endpoint) { data := lager.Data{"uri": uri, "backend": endpoint.CanonicalAddr(), "modification_tag": endpoint.ModificationTag} r.reporter.CaptureRegistryMessage(endpoint) r.Lock() uri = uri.RouteKey() pool := r.byUri.Find(uri) if pool != nil { endpointRemoved := pool.Remove(endpoint) if endpointRemoved { r.logger.Debug("endpoint-unregistered", data) } else { r.logger.Debug("endpoint-not-unregistered", data) } if pool.IsEmpty() { r.byUri.Delete(uri) } } r.Unlock() }
func (rt *BackendRoundTripper) setupRequest(request *http.Request, endpoint *route.Endpoint) { rt.logger.Debug("backend") request.URL.Host = endpoint.CanonicalAddr() request.Header.Set("X-CF-ApplicationID", endpoint.ApplicationId) handler.SetRequestXCfInstanceId(request, endpoint) }
func (h *RequestHandler) setupRequest(endpoint *route.Endpoint) { h.setRequestURL(endpoint.CanonicalAddr()) h.setRequestXForwardedFor() SetRequestXRequestStart(h.request) }