|
1 | 1 | package coderd |
2 | 2 |
|
3 | 3 | import ( |
| 4 | +"crypto/sha256" |
| 5 | +"encoding/base64" |
4 | 6 | "fmt" |
5 | 7 | "net/http" |
6 | 8 | "strings" |
@@ -34,7 +36,10 @@ func (api *API) initScript(rw http.ResponseWriter, r *http.Request) { |
34 | 36 | script=strings.ReplaceAll(script,"${ACCESS_URL}",api.AccessURL.String()+"/") |
35 | 37 | script=strings.ReplaceAll(script,"${AUTH_TYPE}","token") |
36 | 38 |
|
| 39 | +scriptBytes:= []byte(script) |
| 40 | +hash:=sha256.Sum256(scriptBytes) |
| 41 | +rw.Header().Set("Content-Digest",fmt.Sprintf("sha256:%x",base64.StdEncoding.EncodeToString(hash[:]))) |
37 | 42 | rw.Header().Set("Content-Type","text/plain; charset=utf-8") |
38 | 43 | rw.WriteHeader(http.StatusOK) |
39 | | -_,_=rw.Write([]byte(script)) |
| 44 | +_,_=rw.Write(scriptBytes) |
40 | 45 | } |