From eb65089272cf053d75084e0d486dfbcc05512550 Mon Sep 17 00:00:00 2001 From: CornierKhan1 Date: Thu, 6 Sep 2018 16:38:06 +1000 Subject: [PATCH] Filled in more of the templates... --- main.go | 122 ++++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 91 insertions(+), 31 deletions(-) diff --git a/main.go b/main.go index 9197433..222cf7e 100644 --- a/main.go +++ b/main.go @@ -54,33 +54,45 @@ type NETS struct { DeviceId string `xml:"Body>NotifiedETicketsSynced>DeviceId"` MessageId string `xml:"Body>NotifiedETicketsSynced>MessageId"` } + // ListETickets type LET struct { - XMLName xml.Name `xml:"Envelope"` - Version string `xml:"Body>ListETickets>Version"` - DeviceId string `xml:"Body>ListETickets>DeviceId"` - MessageId string `xml:"Body>ListETickets>MessageId"` + XMLName xml.Name `xml:"Envelope"` + Version string `xml:"Body>ListETickets>Version"` + DeviceId string `xml:"Body>ListETickets>DeviceId"` + MessageId string `xml:"Body>ListETickets>MessageId"` } + // PurchaseTitle type PT struct { - XMLName xml.Name `xml:"Envelope"` - Version string `xml:"Body>PurchaseTitle>Version"` - DeviceId string `xml:"Body>PurchaseTitle>DeviceId"` - MessageId string `xml:"Body>PurchaseTitle>MessageId"` + XMLName xml.Name `xml:"Envelope"` + Version string `xml:"Body>PurchaseTitle>Version"` + DeviceId string `xml:"Body>PurchaseTitle>DeviceId"` + MessageId string `xml:"Body>PurchaseTitle>MessageId"` } + // CheckRegistration type CR struct { - XMLName xml.Name `xml:"Envelope"` - Version string `xml:"Body>CheckRegistration>Version"` - DeviceId string `xml:"Body>CheckRegistration>DeviceId"` - MessageId string `xml:"Body>CheckRegistration>MessageId"` + XMLName xml.Name `xml:"Envelope"` + Version string `xml:"Body>CheckRegistration>Version"` + DeviceId string `xml:"Body>CheckRegistration>DeviceId"` + MessageId string `xml:"Body>CheckRegistration>MessageId"` } + // GetRegistrationInfo type GRI struct { - XMLName xml.Name `xml:"Envelope"` - Version string `xml:"Body>GetRegistrationInfo>Version"` - DeviceId string `xml:"Body>GetRegistrationInfo>DeviceId"` - MessageId string `xml:"Body>GetRegistrationInfo>MessageId"` + XMLName xml.Name `xml:"Envelope"` + Version string `xml:"Body>GetRegistrationInfo>Version"` + DeviceId string `xml:"Body>GetRegistrationInfo>DeviceId"` + MessageId string `xml:"Body>GetRegistrationInfo>MessageId"` +} + +// Register +type REG struct { +} + +// Unregister +type UNR struct { } func main() { @@ -158,9 +170,9 @@ func handler(w http.ResponseWriter, r *http.Request) { xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - ` + NETS.Version + ` - ` + NETS.DeviceId + ` - ` + NETS.MessageId + ` + `+NETS.Version+` + `+NETS.DeviceId+` + `+NETS.MessageId+` 00000000 0 false @@ -190,9 +202,9 @@ func handler(w http.ResponseWriter, r *http.Request) { xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - ` + LET.Version + ` - ` + LET.DeviceId + ` - ` + LET.MessageId + ` + `+LET.Version+` + `+LET.DeviceId+` + `+LET.MessageId+` 00000000 0 false @@ -205,7 +217,7 @@ func handler(w http.ResponseWriter, r *http.Request) { fmt.Println("Delivered response!") } else { - if bytes.Contains(body, []byte("PurchaseTitle")){ + if bytes.Contains(body, []byte("PurchaseTitle")) { fmt.Println("PT") PT := PT{} err = xml.Unmarshal([]byte(body), &PT) @@ -223,9 +235,9 @@ func handler(w http.ResponseWriter, r *http.Request) { xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> - ` + PT.Version + ` - ` + PT.DeviceId + ` - ` + PT.MessageId + ` + `+PT.Version+` + `+PT.DeviceId+` + `+PT.MessageId+` 00000000 0 false @@ -235,7 +247,7 @@ func handler(w http.ResponseWriter, r *http.Request) { 00000000 - ` + time.RFC3339 + ` + `+time.RFC3339+` PURCHGAME 00000000 @@ -251,19 +263,67 @@ func handler(w http.ResponseWriter, r *http.Request) { // IDENTITY AUTHENTICATION SOAP - if bytes.Contains(body, []byte("CheckRegistration")){ + if bytes.Contains(body, []byte("CheckRegistration")) { + fmt.Println("CR.") + CR := CR{} + err = xml.Unmarshal([]byte(body), &CR) + if err != nil { + fmt.Println("...or not. Bad or incomplete request. (End processing.)") + fmt.Fprint(w, "not good enough for me. ;)") + fmt.Printf("error: %v", err) + return + } + fmt.Println(CR) + fmt.Println("The request is valid! Responding...") + fmt.Fprintf(w, ``) } else { - if bytes.Contains(body, []byte("GetRegistrationInfo")){ + if bytes.Contains(body, []byte("GetRegistrationInfo")) { + fmt.Println("GRI.") + GRI := GRI{} + err = xml.Unmarshal([]byte(body), &GRI) + if err != nil { + fmt.Println("...or not. Bad or incomplete request. (End processing.)") + fmt.Fprint(w, "how dirty. ;)") + fmt.Printf("error: %v", err) + return + } + fmt.Println(GRI) + fmt.Println("The request is valid! Responding...") + fmt.Fprintf(w, ``) } else { - if bytes.Contains(body, []byte("Register")){ + if bytes.Contains(body, []byte("Register")) { + fmt.Println("REG.") + REG := REG{} + err = xml.Unmarshal([]byte(body), ®) + if err != nil { + fmt.Println("...or not. Bad or incomplete request. (End processing.)") + fmt.Fprint(w, "disgustingly invalid. ;)") + fmt.Printf("error: %v", err) + return + } + fmt.Println(REG) + fmt.Println("The request is valid! Responding...") + fmt.Fprintf(w, ``) } else { - if bytes.Contains(body, []byte("Unregister")){ + if bytes.Contains(body, []byte("Unregister")) { + fmt.Println("UNR.") + UNR := UNR{} + err = xml.Unmarshal([]byte(body), &UNR) + if err != nil { + fmt.Println("...or not. Bad or incomplete request. (End processing.)") + fmt.Fprint(w, "how abnormal... ;)") + fmt.Printf("error: %v", err) + return + } + fmt.Println(UNR) + fmt.Println("The request is valid! Responding...") + fmt.Fprintf(w, ``) } else { fmt.Println("Nothing sent?")