1
Fork 0

Handle case where slug param is set but slug is already in use

This commit is contained in:
Jan-Lukas Else 2020-03-29 13:32:28 +02:00
parent a0eeac4eb1
commit 4d04abb778
1 changed files with 7 additions and 0 deletions

View File

@ -98,12 +98,19 @@ func ShortenHandler(w http.ResponseWriter, r *http.Request) {
}
slug := r.URL.Query().Get("slug")
manualSlug := false
if slug == "" {
_ = db.QueryRow("SELECT slug FROM redirect WHERE url = ?", requestUrl).Scan(&slug)
} else {
manualSlug = true
}
if slug != "" {
if _, e := slugExists(slug); e {
if manualSlug {
http.Error(w, "slug already in use", http.StatusBadRequest)
return
}
writeShortenedUrl(w, slug)
return
}