WiiSOAP/structure.go
Spotlight e588ba6e68
Refactor HTTP handling logic
This is an extraordinarily large commit, and in hindsight would have benefitied from being written separately.

To summarise:

-  Converts namespace URI parsing to a regex, instead of convoluted string logic
 - Removes per-request XML structures in favor of normalised XPath queries
 - Moves common variables for all requests to a k/v map of their name and contents, in order to reduce function parameter count
 - Changes the name of the ECS action "NotifiedETicketsSynced" to its hardcoded (tenseless) name, "NotifyETicketsSynced"
 - Improved properly reporting errors to the end user in areas
2020-08-16 23:06:09 -05:00

38 lines
1.3 KiB
Go

// Copyright (C) 2018-2020 CornierKhan1
//
// WiiSOAP is SOAP Server Software, designed specifically to handle Wii Shop Channel SOAP.
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see http://www.gnu.org/licenses/.
package main
import "encoding/xml"
/////////////////////
// SOAP STRUCTURES //
/////////////////////
// The structures may seem repetitive and redundant, but blame WSC's inconsistent SOAP requests.
// Config - WiiSOAP Configuration data.
type Config struct {
XMLName xml.Name `xml:"Config"`
Address string `xml:"Address"`
SQLAddress string `xml:"SQLAddress"`
SQLUser string `xml:"SQLUser"`
SQLPass string `xml:"SQLPass"`
SQLDB string `xml:"SQLDB"`
}