func (h ContentHandler) getNativeContent(ctx context.Context, w http.ResponseWriter) (ok bool, resp *http.Response) { uuid := ctx.Value(uuidKey).(string) requestUrl := fmt.Sprintf("%s%s", h.serviceConfig.sourceAppUri, uuid) transactionId, _ := tid.GetTransactionIDFromContext(ctx) h.log.RequestEvent(h.serviceConfig.sourceAppName, requestUrl, transactionId, uuid) req, err := http.NewRequest("GET", requestUrl, nil) req.Header.Set(tid.TransactionIDHeader, transactionId) req.Header.Set("Authorization", "Basic "+h.serviceConfig.sourceAppAuth) req.Header.Set("Content-Type", "application/json") resp, err = client.Do(req) return h.handleResponse(req, resp, err, w, uuid) }
func (h ContentHandler) getTransformedContent(ctx context.Context, nativeContentSourceAppResponse http.Response, w http.ResponseWriter) (ok bool, resp *http.Response) { uuid := ctx.Value(uuidKey).(string) requestUrl := fmt.Sprintf("%s%s?preview=true", h.serviceConfig.transformAppUri, uuid) transactionId, _ := tid.GetTransactionIDFromContext(ctx) //TODO we need to assert that resp.Header.Get(tid.TransactionIDHeader) == transactionId //to ensure that we are logging exactly what is actually passed around in the headers h.log.RequestEvent(h.serviceConfig.transformAppName, requestUrl, transactionId, uuid) req, err := http.NewRequest("POST", requestUrl, nativeContentSourceAppResponse.Body) req.Host = h.serviceConfig.transformAppHostHeader req.Header.Set(tid.TransactionIDHeader, transactionId) req.Header.Set("Content-Type", "application/json") resp, err = client.Do(req) return h.handleResponse(req, resp, err, w, uuid) }