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-key: ""
|
||||||
tls-min-vers: ""
|
tls-min-vers: ""
|
||||||
url-prefix: ""
|
url-prefix: ""
|
||||||
access_key: ""
|
access-key: ""
|
||||||
```
|
```
|
||||||
|
|
||||||
Example configuration with possible alternative values:
|
Example configuration with possible alternative values:
|
||||||
|
@ -28,7 +28,7 @@ var (
|
|||||||
TLSMinVersStr string `yaml:"tls-min-vers"`
|
TLSMinVersStr string `yaml:"tls-min-vers"`
|
||||||
URLPrefix string `yaml:"url-prefix"`
|
URLPrefix string `yaml:"url-prefix"`
|
||||||
Referrers []string `yaml:"referrers"`
|
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 {
|
func AddAccessKey(serve http.HandlerFunc, accessKey string) http.HandlerFunc {
|
||||||
return func(w http.ResponseWriter, r *http.Request) {
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
// Get key or md5sum from this access.
|
// Get key or md5sum from this access.
|
||||||
keys, key_ok := r.URL.Query()["key"]
|
keys, keyOk := r.URL.Query()["key"]
|
||||||
var code string
|
var code string
|
||||||
if !key_ok || len(keys[0]) < 1 {
|
if !keyOk || len(keys[0]) < 1 {
|
||||||
// In case a code is provided
|
// In case a code is provided
|
||||||
codes, code_ok := r.URL.Query()["code"]
|
codes, codeOk := r.URL.Query()["code"]
|
||||||
if !code_ok || len(codes[0]) < 1 {
|
if !codeOk || len(codes[0]) < 1 {
|
||||||
http.NotFound(w, r)
|
http.NotFound(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
code = codes[0]
|
code = strings.ToUpper(codes[0])
|
||||||
} else {
|
} else {
|
||||||
// In case a key is provided, convert to code.
|
// In case a key is provided, convert to code.
|
||||||
data := []byte(r.URL.Path + keys[0])
|
data := []byte(r.URL.Path + keys[0])
|
||||||
hash := md5.Sum(data)
|
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.
|
// Compute the correct md5sum of this access.
|
||||||
local_data := []byte(r.URL.Path + accessKey)
|
localData := []byte(r.URL.Path + accessKey)
|
||||||
hash := md5.Sum(local_data)
|
hash := md5.Sum(localData)
|
||||||
local_code := fmt.Sprintf("%x", hash)
|
localCode := fmt.Sprintf("%X", hash)
|
||||||
local_code = strings.ToUpper(local_code)
|
|
||||||
|
|
||||||
// Compare the two.
|
// Compare the two.
|
||||||
if code != local_code {
|
if code != localCode {
|
||||||
http.NotFound(w, r)
|
http.NotFound(w, r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user