|
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 | }
|