mirror of
https://github.com/elyby/chrly.git
synced 2024-11-27 01:01:59 +05:30
Do not limit hash format only to md5
This commit is contained in:
parent
34598e39bc
commit
b73582bbf4
15
http/api.go
15
http/api.go
@ -23,19 +23,6 @@ const UUID_ANY = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
|
|||||||
var regexUuidAny = regexp.MustCompile(UUID_ANY)
|
var regexUuidAny = regexp.MustCompile(UUID_ANY)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
govalidator.AddCustomRule("md5", func(field string, rule string, message string, value interface{}) error {
|
|
||||||
val := []byte(value.(string))
|
|
||||||
if ok, _ := regexp.Match(`^[a-f0-9]{32}$`, val); !ok {
|
|
||||||
if message == "" {
|
|
||||||
message = fmt.Sprintf("The %s field must be a valid md5 hash", field)
|
|
||||||
}
|
|
||||||
|
|
||||||
return errors.New(message)
|
|
||||||
}
|
|
||||||
|
|
||||||
return nil
|
|
||||||
})
|
|
||||||
|
|
||||||
govalidator.AddCustomRule("skinUploadingNotAvailable", func(field string, rule string, message string, value interface{}) error {
|
govalidator.AddCustomRule("skinUploadingNotAvailable", func(field string, rule string, message string, value interface{}) error {
|
||||||
if message == "" {
|
if message == "" {
|
||||||
message = "Skin uploading is temporary unavailable"
|
message = "Skin uploading is temporary unavailable"
|
||||||
@ -174,7 +161,7 @@ func validatePostSkinRequest(request *http.Request) map[string][]string {
|
|||||||
"skinId": {"required", "numeric", "min:1"},
|
"skinId": {"required", "numeric", "min:1"},
|
||||||
"url": {"url"},
|
"url": {"url"},
|
||||||
"file:skin": {"ext:png", "size:24576", "mime:image/png"},
|
"file:skin": {"ext:png", "size:24576", "mime:image/png"},
|
||||||
"hash": {"md5"},
|
"hash": {},
|
||||||
"is1_8": {"bool"},
|
"is1_8": {"bool"},
|
||||||
"isSlim": {"bool"},
|
"isSlim": {"bool"},
|
||||||
}
|
}
|
||||||
|
@ -268,7 +268,6 @@ func TestConfig_PostSkin_RequiredFields(t *testing.T) {
|
|||||||
config, mocks := setupMocks(ctrl)
|
config, mocks := setupMocks(ctrl)
|
||||||
|
|
||||||
form := url.Values{
|
form := url.Values{
|
||||||
"hash": {"this is not md5"},
|
|
||||||
"mojangTextures": {"someBase64EncodedString"},
|
"mojangTextures": {"someBase64EncodedString"},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -307,9 +306,6 @@ func TestConfig_PostSkin_RequiredFields(t *testing.T) {
|
|||||||
"The uuid field is required",
|
"The uuid field is required",
|
||||||
"The uuid field must contain valid UUID"
|
"The uuid field must contain valid UUID"
|
||||||
],
|
],
|
||||||
"hash": [
|
|
||||||
"The hash field must be a valid md5 hash"
|
|
||||||
],
|
|
||||||
"url": [
|
"url": [
|
||||||
"One of url or skin should be provided, but not both"
|
"One of url or skin should be provided, but not both"
|
||||||
],
|
],
|
||||||
|
Loading…
Reference in New Issue
Block a user