commit f8347a13bfb4eea49fc8ab7a4a79e9131a6121fe
parent 9493f4bfa0134ff6eff1148f4c53b35e7711a2db
Author: Martin Schanzenbach <schanzen@gnunet.org>
Date: Mon, 18 Dec 2023 14:55:45 +0100
Minor refactoring
Diffstat:
1 file changed, 70 insertions(+), 40 deletions(-)
diff --git a/pkg/rest/gnsregistrar.go b/pkg/rest/gnsregistrar.go
@@ -189,7 +189,7 @@ func (t *Registrar) landingPage(w http.ResponseWriter, r *http.Request) {
return
}
-func (t *Registrar) isNameValid(label string) error {
+func (t *Registrar) isNameValid(label string) (err error) {
if ("@" == label) {
return errors.New(fmt.Sprintf("'%s' invalid: '@' not allowed", label))
}
@@ -214,13 +214,17 @@ func (t *Registrar) isNameValid(label string) error {
return errors.New(fmt.Sprintf("Label '%s' not allowed by policy", label))
}
}
- return nil
+ return
}
func (t *Registrar) searchPage(w http.ResponseWriter, r *http.Request) {
+ var (
+ label string
+ err error
+ )
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- label := r.URL.Query().Get("label")
- err := t.isNameValid(label)
+ label = r.URL.Query().Get("label")
+ err = t.isNameValid(label)
if nil != err {
http.Redirect(w, r, fmt.Sprintf("/?error=%s", err), http.StatusSeeOther)
return
@@ -229,9 +233,12 @@ func (t *Registrar) searchPage(w http.ResponseWriter, r *http.Request) {
return
}
-func (t *Registrar) expireRegistration(label string) (error) {
- var gnunetError GnunetError
- client := &http.Client{}
+func (t *Registrar) expireRegistration(label string) (err error) {
+ var (
+ gnunetError GnunetError
+ client *http.Client
+ )
+ client = &http.Client{}
req, _ := http.NewRequest(http.MethodDelete,t.GnunetUrl+"/namestore/" + t.RootZoneName + "/" + label, nil)
if t.GnunetBasicAuthEnabled {
req.SetBasicAuth(t.GnunetUsername, t.GnunetPassword)
@@ -252,10 +259,9 @@ func (t *Registrar) expireRegistration(label string) (error) {
return nil
}
-func (t *Registrar) createOrUpdateRegistration(nsRecord *NamestoreRecord) (error) {
+func (t *Registrar) createOrUpdateRegistration(nsRecord *NamestoreRecord) (err error) {
var gnunetError GnunetError
reqString, _ := json.Marshal(nsRecord)
- fmt.Println(nsRecord)
client := &http.Client{}
req, _ := http.NewRequest(http.MethodPut,t.GnunetUrl+"/namestore/" + t.RootZoneName, bytes.NewBuffer(reqString))
if t.GnunetBasicAuthEnabled {
@@ -281,11 +287,13 @@ func getEndOfDay(day time.Time) (time.Time) {
return time.Date(day.Year(), day.Month(), day.Day(), 23, 59, 59, 0, day.Location())
}
-func (t *Registrar) setupRegistrationMetadataBeforePayment(label string, zkey string, orderId string, paymentUntil time.Time, regId string) (error) {
- var namestoreRequest NamestoreRecord
- var delegationRecord RecordData
- var metadataRecord RecordData
- var registrationMetadata RegistrationMetadata
+func (t *Registrar) setupRegistrationMetadataBeforePayment(label string, zkey string, orderId string, paymentUntil time.Time, regId string) (err error) {
+ var (
+ namestoreRequest NamestoreRecord
+ delegationRecord RecordData
+ metadataRecord RecordData
+ registrationMetadata RegistrationMetadata
+ )
delegationRecord.IsPrivate = true // Private until payment is through
delegationRecord.IsRelativeExpiration = true
delegationRecord.IsSupplemental = false
@@ -319,13 +327,18 @@ func (t *Registrar) setupRegistrationMetadataBeforePayment(label string, zkey st
}
func (t *Registrar) updateRegistration(w http.ResponseWriter, r *http.Request) {
+ var (
+ namestoreResponse NamestoreRecord
+ zkeyRecord RecordData
+ metaRecord RecordData
+ regMetadata *RegistrationMetadata
+ client *http.Client
+ token string
+ zkey string
+ )
vars := mux.Vars(r)
- var namestoreResponse NamestoreRecord
- var zkeyRecord RecordData
- var metaRecord RecordData
- var regMetadata *RegistrationMetadata
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- client := &http.Client{}
+ client = &http.Client{}
req, _ := http.NewRequest(http.MethodGet,t.GnunetUrl + "/namestore/" + t.RootZoneName + "/" + vars["label"] + "?include_maintenance=yes", nil)
if t.GnunetBasicAuthEnabled {
req.SetBasicAuth(t.GnunetUsername, t.GnunetPassword)
@@ -365,8 +378,8 @@ func (t *Registrar) updateRegistration(w http.ResponseWriter, r *http.Request) {
return
}
r.ParseForm()
- token := r.Form.Get("token")
- zkey := r.Form.Get("zkey")
+ token = r.Form.Get("token")
+ zkey = r.Form.Get("zkey")
if regMetadata.RegistrationID != token {
http.Redirect(w, r, "/name/"+vars["label"] + "?error=Unauthorized", http.StatusSeeOther)
return
@@ -392,12 +405,15 @@ func (t *Registrar) updateRegistration(w http.ResponseWriter, r *http.Request) {
}
func (t *Registrar) editRegistration(w http.ResponseWriter, r *http.Request) {
+ var (
+ namestoreResponse NamestoreRecord
+ regMetadata *RegistrationMetadata
+ value string
+ client *http.Client
+ )
vars := mux.Vars(r)
- var namestoreResponse NamestoreRecord
- var regMetadata *RegistrationMetadata
- var value string
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- client := &http.Client{}
+ client = &http.Client{}
req, _ := http.NewRequest(http.MethodGet,t.GnunetUrl + "/namestore/" + t.RootZoneName + "/" + vars["label"] + "?include_maintenance=yes", nil)
if t.GnunetBasicAuthEnabled {
req.SetBasicAuth(t.GnunetUsername, t.GnunetPassword)
@@ -467,12 +483,18 @@ func (t *Registrar) editRegistration(w http.ResponseWriter, r *http.Request) {
}
func (t *Registrar) buyPage(w http.ResponseWriter, r *http.Request) {
+ var (
+ namestoreResponse NamestoreRecord
+ regMetadata *RegistrationMetadata
+ client *http.Client
+ label string
+ errorMsg string
+ regId string
+ )
vars := mux.Vars(r)
- var namestoreResponse NamestoreRecord
- var regMetadata *RegistrationMetadata
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- client := &http.Client{}
- label := vars["label"]
+ client = &http.Client{}
+ label = vars["label"]
err := t.isNameValid(label)
if nil != err {
http.Redirect(w, r, fmt.Sprintf("/?error=%s", err), http.StatusSeeOther)
@@ -512,8 +534,6 @@ func (t *Registrar) buyPage(w http.ResponseWriter, r *http.Request) {
http.Redirect(w, r, "/name/" + label + "?error=Registration failed: Error determining zone status", http.StatusSeeOther)
return
}
- var errorMsg = ""
- var regId = ""
if nil != regMetadata {
if regMetadata.Paid == false {
http.Redirect(w, r, "/name/"+ label + "?error=Registration failed: Pending buy order", http.StatusSeeOther)
@@ -594,8 +614,11 @@ func (t *Registrar) buyPage(w http.ResponseWriter, r *http.Request) {
}
func (t *Registrar) getCurrentRegistrationMetadata(label string, nsRecord *NamestoreRecord) (*RegistrationMetadata, error) {
- var regMetadata RegistrationMetadata
- var haveMetadata = false
+ var (
+ regMetadata RegistrationMetadata
+ haveMetadata bool
+ )
+ haveMetadata = false
for _, record := range nsRecord.Records {
if record.RecordType == "TXT" {
err := json.Unmarshal([]byte(record.Value), ®Metadata)
@@ -687,21 +710,24 @@ func isDelegationRecordType(typ string) (bool) {
}
func (t *Registrar) namePage(w http.ResponseWriter, r *http.Request) {
- var namestoreResponse NamestoreRecord
+ var (
+ namestoreResponse NamestoreRecord
+ value string
+ registeredUntilStr string
+ regMetadata *RegistrationMetadata
+ remainingDays int64
+ client *http.Client
+ registered = r.URL.Query().Get("registered") == "true"
+ )
vars := mux.Vars(r)
w.Header().Set("Content-Type", "text/html; charset=utf-8")
- var value = ""
- var registeredUntilStr = ""
- var regMetadata *RegistrationMetadata
- var remainingDays int64
- var registered = r.URL.Query().Get("registered") == "true"
label := vars["label"]
err := t.isNameValid(label)
if nil != err {
http.Redirect(w, r, fmt.Sprintf("/?error=%s", err), http.StatusSeeOther)
return
}
- client := &http.Client{}
+ client = &http.Client{}
req, _ := http.NewRequest(http.MethodGet,t.GnunetUrl + "/namestore/" + t.RootZoneName + "/" + label + "?include_maintenance=yes", nil)
if t.GnunetBasicAuthEnabled {
req.SetBasicAuth(t.GnunetUsername, t.GnunetPassword)
@@ -803,21 +829,25 @@ func (t *Registrar) Initialize(cfgfile string) {
t.LandingTpl, err = template.ParseFiles(landingTplFile)
if err != nil {
fmt.Println(err)
+ os.Exit(1)
}
nameTplFile := t.Cfg.Section("gns-registrar").Key("name_template").MustString("web/templates/name.html")
t.NameTpl, err = template.ParseFiles(nameTplFile)
if err != nil {
fmt.Println(err)
+ os.Exit(1)
}
buyTplFile := t.Cfg.Section("gns-registrar").Key("buy_template").MustString("web/templates/buy.html")
t.BuyTpl, err = template.ParseFiles(buyTplFile)
if err != nil {
fmt.Println(err)
+ os.Exit(1)
}
editTplFile := t.Cfg.Section("gns-registrar").Key("edit_template").MustString("web/templates/edit.html")
t.EditTpl, err = template.ParseFiles(editTplFile)
if err != nil {
fmt.Println(err)
+ os.Exit(1)
}
paymentExp := t.Cfg.Section("gns-registrar").Key("payment_required_expiration").MustString("1h")
recordExp := t.Cfg.Section("gns-registrar").Key("relative_delegation_expiration").MustString("24h")