Migrated URL validation out of database saving
This commit is contained in:
parent
5c669c8b93
commit
9f13f8e09b
17
load.go
17
load.go
@ -42,29 +42,34 @@ func loadjson(stor storage.Storage, filename string) error {
|
|||||||
max = e.ID
|
max = e.ID
|
||||||
}
|
}
|
||||||
|
|
||||||
qurl := &qurl.QURL{
|
q := &qurl.QURL{
|
||||||
ID: e.ID,
|
ID: e.ID,
|
||||||
URL: e.URL,
|
URL: e.URL,
|
||||||
}
|
}
|
||||||
|
|
||||||
if e.Date.Date > 0 {
|
if e.Date.Date > 0 {
|
||||||
qurl.Created = time.Unix((e.Date.Date / 1000), 0)
|
q.Created = time.Unix((e.Date.Date / 1000), 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
if e.IP != "" {
|
if e.IP != "" {
|
||||||
qurl.IP = net.ParseIP(e.IP)
|
q.IP = net.ParseIP(e.IP)
|
||||||
}
|
}
|
||||||
|
|
||||||
if e.Browser != "" {
|
if e.Browser != "" {
|
||||||
qurl.Browser = e.Browser
|
q.Browser = e.Browser
|
||||||
}
|
}
|
||||||
|
|
||||||
err := stor.AddQURL(qurl)
|
err := q.CheckValid()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Printf("\nError adding qurl: %s\n", err.Error())
|
fmt.Printf("\nValidation failure: %s\n", err.Error())
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = stor.AddQURL(q)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("AddQURL() Database error: %s", err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
count++
|
count++
|
||||||
if (count % 100) == 0 {
|
if (count % 100) == 0 {
|
||||||
fmt.Printf("*")
|
fmt.Printf("*")
|
||||||
|
@ -54,6 +54,10 @@ func (ctx *SubmitHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
Created: time.Now(),
|
Created: time.Now(),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err := q.CheckValid()
|
||||||
|
if err != nil {
|
||||||
|
pg.Message = err.Error()
|
||||||
|
} else {
|
||||||
err := ctx.Storage.AddQURL(q)
|
err := ctx.Storage.AddQURL(q)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
http.Error(w, fmt.Sprintf("Database error: %s", err.Error()),
|
http.Error(w, fmt.Sprintf("Database error: %s", err.Error()),
|
||||||
@ -65,6 +69,7 @@ func (ctx *SubmitHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
pg.URL = fmt.Sprintf("https://qurl.org/%s", qurl.ToString(q.ID))
|
pg.URL = fmt.Sprintf("https://qurl.org/%s", qurl.ToString(q.ID))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
err := ctx.template.Execute(&buf, pg)
|
err := ctx.template.Execute(&buf, pg)
|
||||||
|
@ -16,11 +16,6 @@ var (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (stor *BoltStorage) AddQURL(q *qurl.QURL) error {
|
func (stor *BoltStorage) AddQURL(q *qurl.QURL) error {
|
||||||
err := q.CheckValid()
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
tx, err := stor.DB.Begin(true)
|
tx, err := stor.DB.Begin(true)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
Reference in New Issue
Block a user