mirror of
https://github.com/halverneus/static-file-server.git
synced 2024-11-24 09:05:30 +00:00
name conversion for change request
This commit is contained in:
parent
8b783cbe56
commit
7b5d9eba91
@ -95,7 +95,7 @@ tls-cert: ""
|
||||
tls-key: ""
|
||||
tls-min-vers: ""
|
||||
url-prefix: ""
|
||||
access_key: ""
|
||||
access-key: ""
|
||||
```
|
||||
|
||||
Example configuration with possible alternative values:
|
||||
|
@ -28,7 +28,7 @@ var (
|
||||
TLSMinVersStr string `yaml:"tls-min-vers"`
|
||||
URLPrefix string `yaml:"url-prefix"`
|
||||
Referrers []string `yaml:"referrers"`
|
||||
AccessKey string `yaml:"accessKey"`
|
||||
AccessKey string `yaml:"access-key"`
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -159,32 +159,30 @@ func AddCorsWildcardHeaders(serve http.HandlerFunc) http.HandlerFunc {
|
||||
func AddAccessKey(serve http.HandlerFunc, accessKey string) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
// Get key or md5sum from this access.
|
||||
keys, key_ok := r.URL.Query()["key"]
|
||||
keys, keyOk := r.URL.Query()["key"]
|
||||
var code string
|
||||
if !key_ok || len(keys[0]) < 1 {
|
||||
if !keyOk || len(keys[0]) < 1 {
|
||||
// In case a code is provided
|
||||
codes, code_ok := r.URL.Query()["code"]
|
||||
if !code_ok || len(codes[0]) < 1 {
|
||||
codes, codeOk := r.URL.Query()["code"]
|
||||
if !codeOk || len(codes[0]) < 1 {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
code = codes[0]
|
||||
code = strings.ToUpper(codes[0])
|
||||
} else {
|
||||
// In case a key is provided, convert to code.
|
||||
data := []byte(r.URL.Path + keys[0])
|
||||
hash := md5.Sum(data)
|
||||
code = fmt.Sprintf("%x", hash)
|
||||
code = fmt.Sprintf("%X", hash)
|
||||
}
|
||||
code = strings.ToUpper(code)
|
||||
|
||||
// Compute the correct md5sum of this access.
|
||||
local_data := []byte(r.URL.Path + accessKey)
|
||||
hash := md5.Sum(local_data)
|
||||
local_code := fmt.Sprintf("%x", hash)
|
||||
local_code = strings.ToUpper(local_code)
|
||||
localData := []byte(r.URL.Path + accessKey)
|
||||
hash := md5.Sum(localData)
|
||||
localCode := fmt.Sprintf("%X", hash)
|
||||
|
||||
// Compare the two.
|
||||
if code != local_code {
|
||||
if code != localCode {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user