Fixing some API calls to accept optional payload

This commit is contained in:
2018-02-24 12:25:09 -05:00
parent 4015a48454
commit fb71ca9b4e
3 changed files with 27 additions and 34 deletions

View File

@@ -67,7 +67,7 @@ class RSSTorrentList extends React.Component {
})
let magnetLinkMessage = {
MessageType: "magnetLinkSubmit",
Payload: {"MagnetLinks": [sendMagnetLinks], "Label": "RSS"}
Payload: {"MagnetLinks": sendMagnetLinks, "Label": "RSS"}
}
console.log(JSON.stringify(magnetLinkMessage))
ws.send(JSON.stringify(magnetLinkMessage))

33
main.go
View File

@@ -358,9 +358,8 @@ func main() {
conn.WriteJSON(TorrentRSSList)
case "magnetLinkSubmit": //if we detect a magnet link we will be adding a magnet torrent
storageValue := payloadData["StorageValue"].(string)
labelValue := payloadData["Label"].(string)
if storageValue == "" {
storageValue, ok := payloadData["StorageValue"].(string)
if storageValue == "" || ok == false {
storageValue, err = filepath.Abs(filepath.ToSlash(Config.DefaultMoveFolder))
if err != nil {
Logger.WithFields(logrus.Fields{"err": err, "MagnetLink": Config.DefaultMoveFolder}).Error("Unable to add default Storage Path")
@@ -373,6 +372,10 @@ func main() {
storageValue, _ = filepath.Abs(filepath.ToSlash(Config.DefaultMoveFolder))
}
}
labelValue, ok := payloadData["Label"].(string)
if labelValue == "" || ok == false {
labelValue = "None"
}
magnetLinks := payloadData["MagnetLinks"].([]interface{})
for _, magnetLink := range magnetLinks {
clientTorrent, err := tclient.AddMagnet(magnetLink.(string)) //reading the payload into the torrent client
@@ -390,21 +393,12 @@ func main() {
case "torrentFileSubmit":
base64encoded := payloadData["FileData"].(string)
fileName := payloadData["FileName"].(string)
storageValue := payloadData["StorageValue"].(string)
labelValue := payloadData["Label"].(string)
base64file := strings.Split(base64encoded, ",") //Mozilla and Chrome have different payloads, but both start the file after the comma
file, err := base64.StdEncoding.DecodeString(base64file[1]) //grabbing the second half of the string after the split
if err != nil {
Logger.WithFields(logrus.Fields{"Error": err, "file": file}).Info("Unable to decode base64 string to file")
Engine.CreateServerPushMessage(Engine.ServerPushMessage{MessageType: "serverPushMessage", MessageLevel: "error", Payload: "Unable to decode base64 string to file"}, conn)
}
if storageValue == "" {
storageValue, ok := payloadData["StorageValue"].(string)
if storageValue == "" || ok == false {
storageValue, err = filepath.Abs(filepath.ToSlash(Config.DefaultMoveFolder))
if err != nil {
Logger.WithFields(logrus.Fields{"err": err, "MagnetLink": Config.DefaultMoveFolder}).Error("Unable to add Storage Path")
Engine.CreateServerPushMessage(Engine.ServerPushMessage{MessageType: "serverPushMessage", MessageLevel: "error", Payload: "Unable to add default Storage Path"}, conn)
}
} else {
storageValue, err = filepath.Abs(filepath.ToSlash(storageValue))
if err != nil {
@@ -413,6 +407,17 @@ func main() {
storageValue, _ = filepath.Abs(filepath.ToSlash(Config.DefaultMoveFolder))
}
}
}
labelValue, ok := payloadData["Label"].(string)
if labelValue == "" || ok == false {
labelValue = "None"
}
base64file := strings.Split(base64encoded, ",") //Mozilla and Chrome have different payloads, but both start the file after the comma
file, err := base64.StdEncoding.DecodeString(base64file[1]) //grabbing the second half of the string after the split
if err != nil {
Logger.WithFields(logrus.Fields{"Error": err, "file": file}).Info("Unable to decode base64 string to file")
Engine.CreateServerPushMessage(Engine.ServerPushMessage{MessageType: "serverPushMessage", MessageLevel: "error", Payload: "Unable to decode base64 string to file"}, conn)
}
filePath := filepath.Join(Config.TFileUploadFolder, fileName)
filePathAbs, err := filepath.Abs(filePath) //creating a full filepath to store the .torrent files

View File

@@ -102676,7 +102676,7 @@ var RSSTorrentList = function (_React$Component) {
});
var magnetLinkMessage = {
MessageType: "magnetLinkSubmit",
Payload: { "MagnetLinks": [sendMagnetLinks], "Label": "RSS" }
Payload: { "MagnetLinks": sendMagnetLinks, "Label": "RSS" }
};
console.log(JSON.stringify(magnetLinkMessage));
ws.send(JSON.stringify(magnetLinkMessage));
@@ -123585,18 +123585,6 @@ var ServerSettingsTab = function (_React$PureComponent) {
' '
),
' '
),
_react2.default.createElement(
_Paper2.default,
{ className: classes.paper },
'Client Password: ',
_react2.default.createElement(
'span',
{ className: classes.floatRight },
this.props.settingsFile["ClientPassword"],
' '
),
' '
)
),
_react2.default.createElement(_Grid2.default, { item: true, xs: 12, sm: 4 })