mirror of
https://github.com/schollz/croc.git
synced 2025-10-11 21:30:16 +02:00
reduce complexity
This commit is contained in:
parent
768ad9b739
commit
24abf4fdd8
1 changed files with 37 additions and 32 deletions
|
@ -479,6 +479,42 @@ func (c *Client) transfer(options TransferOptions) (err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Client) processMessageFileInfo(m message.Message) (err error) {
|
||||||
|
var senderInfo SenderInfo
|
||||||
|
err = json.Unmarshal(m.Bytes, &senderInfo)
|
||||||
|
if err != nil {
|
||||||
|
log.Error(err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.FilesToTransfer = senderInfo.FilesToTransfer
|
||||||
|
fname := fmt.Sprintf("%d files", len(c.FilesToTransfer))
|
||||||
|
if len(c.FilesToTransfer) == 1 {
|
||||||
|
fname = fmt.Sprintf("'%s'", c.FilesToTransfer[0].Name)
|
||||||
|
}
|
||||||
|
totalSize := int64(0)
|
||||||
|
for _, fi := range c.FilesToTransfer {
|
||||||
|
totalSize += fi.Size
|
||||||
|
}
|
||||||
|
// c.spinner.Stop()
|
||||||
|
if !c.Options.NoPrompt {
|
||||||
|
fmt.Fprintf(os.Stderr, "\rAccept %s (%s)? (y/n) ", fname, utils.ByteCountDecimal(totalSize))
|
||||||
|
if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" {
|
||||||
|
err = message.Send(c.conn[0], c.Key, message.Message{
|
||||||
|
Type: "error",
|
||||||
|
Message: "refusing files",
|
||||||
|
})
|
||||||
|
return true, fmt.Errorf("refused files")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
fmt.Fprintf(os.Stderr, "\rReceiving %s (%s) \n", fname, utils.ByteCountDecimal(totalSize))
|
||||||
|
}
|
||||||
|
fmt.Fprintf(os.Stderr, "\nReceiving (<-%s)\n", c.ExternalIPConnected)
|
||||||
|
|
||||||
|
log.Debug(c.FilesToTransfer)
|
||||||
|
c.Step2FileInfoTransfered = true
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (c *Client) procesMesssagePake(m message.Message) (err error) {
|
func (c *Client) procesMesssagePake(m message.Message) (err error) {
|
||||||
log.Debug("received pake payload")
|
log.Debug("received pake payload")
|
||||||
// if // c.spinner.Suffix != " performing PAKE..." {
|
// if // c.spinner.Suffix != " performing PAKE..." {
|
||||||
|
@ -586,38 +622,7 @@ func (c *Client) processMessage(payload []byte) (done bool, err error) {
|
||||||
err = fmt.Errorf("peer error: %s", m.Message)
|
err = fmt.Errorf("peer error: %s", m.Message)
|
||||||
return true, err
|
return true, err
|
||||||
case "fileinfo":
|
case "fileinfo":
|
||||||
var senderInfo SenderInfo
|
err = c.processMessageFileInfo(m)
|
||||||
err = json.Unmarshal(m.Bytes, &senderInfo)
|
|
||||||
if err != nil {
|
|
||||||
log.Error(err)
|
|
||||||
return
|
|
||||||
}
|
|
||||||
c.FilesToTransfer = senderInfo.FilesToTransfer
|
|
||||||
fname := fmt.Sprintf("%d files", len(c.FilesToTransfer))
|
|
||||||
if len(c.FilesToTransfer) == 1 {
|
|
||||||
fname = fmt.Sprintf("'%s'", c.FilesToTransfer[0].Name)
|
|
||||||
}
|
|
||||||
totalSize := int64(0)
|
|
||||||
for _, fi := range c.FilesToTransfer {
|
|
||||||
totalSize += fi.Size
|
|
||||||
}
|
|
||||||
// c.spinner.Stop()
|
|
||||||
if !c.Options.NoPrompt {
|
|
||||||
fmt.Fprintf(os.Stderr, "\rAccept %s (%s)? (y/n) ", fname, utils.ByteCountDecimal(totalSize))
|
|
||||||
if strings.ToLower(strings.TrimSpace(utils.GetInput(""))) != "y" {
|
|
||||||
err = message.Send(c.conn[0], c.Key, message.Message{
|
|
||||||
Type: "error",
|
|
||||||
Message: "refusing files",
|
|
||||||
})
|
|
||||||
return true, fmt.Errorf("refused files")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
fmt.Fprintf(os.Stderr, "\rReceiving %s (%s) \n", fname, utils.ByteCountDecimal(totalSize))
|
|
||||||
}
|
|
||||||
fmt.Fprintf(os.Stderr, "\nReceiving (<-%s)\n", c.ExternalIPConnected)
|
|
||||||
|
|
||||||
log.Debug(c.FilesToTransfer)
|
|
||||||
c.Step2FileInfoTransfered = true
|
|
||||||
case "recipientready":
|
case "recipientready":
|
||||||
var remoteFile RemoteFileRequest
|
var remoteFile RemoteFileRequest
|
||||||
err = json.Unmarshal(m.Bytes, &remoteFile)
|
err = json.Unmarshal(m.Bytes, &remoteFile)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue