code: func metadataFromHeaders(h http.Header) metadata.MD {
  	if len(h) == 0 {
  		return nil
  	}
  
  	md := make(metadata.MD, len(h))
  	for k, v := range h {
  		md[strings.ToLower(k)] = v
  	}
  	return md
  }
docs: // metadataFromHeaders copies an http.Header object into a metadata.MD map.
  //
  // In order to conform with gRPC, which relies on HTTP/2's forced lower-case
  // headers, we convert the headers to lower-case before entering them in the
  // metadata map.