request_header_wasm.go raw

   1  //go:build wasm && js
   2  
   3  package scw
   4  
   5  import (
   6  	"net/http"
   7  
   8  	"github.com/scaleway/scaleway-sdk-go/internal/auth"
   9  )
  10  
  11  // getAllHeaders constructs a http.Header object and aggregates all headers into the object.
  12  func (req *ScalewayRequest) getAllHeaders(token auth.Auth, userAgent string, anonymized bool) http.Header {
  13  	var allHeaders http.Header
  14  	if anonymized {
  15  		allHeaders = token.AnonymizedHeaders()
  16  	} else {
  17  		allHeaders = token.Headers()
  18  	}
  19  
  20  	allHeaders.Set("X-User-Agent", userAgent)
  21  	if req.Body != nil {
  22  		allHeaders.Set("Content-Type", "application/json")
  23  	}
  24  	for key, value := range req.Headers {
  25  		allHeaders.Del(key)
  26  		for _, v := range value {
  27  			allHeaders.Add(key, v)
  28  		}
  29  	}
  30  
  31  	return allHeaders
  32  }
  33