1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- package cmd
- import (
- "github.com/claudiodangelis/qrcp/config"
- "github.com/claudiodangelis/qrcp/logger"
- "github.com/claudiodangelis/qrcp/payload"
- "github.com/claudiodangelis/qrcp/qr"
- "github.com/claudiodangelis/qrcp/server"
- "github.com/spf13/cobra"
- )
- func sendCmdFunc(command *cobra.Command, args []string) error {
- log := logger.New(quietFlag)
- payload, err := payload.FromArgs(args, zipFlag)
- if err != nil {
- return err
- }
- cfg, err := config.New(interfaceFlag, portFlag, pathFlag, fqdnFlag, keepaliveFlag, listallinterfacesFlag)
- if err != nil {
- return err
- }
- srv, err := server.New(&cfg)
- if err != nil {
- return err
- }
- // Sets the payload
- srv.Send(payload)
- log.Print("Scan the following URL with a QR reader to start the file transfer:")
- log.Print(srv.SendURL)
- qr.RenderString(srv.SendURL)
- if err := srv.Wait(); err != nil {
- return err
- }
- return nil
- }
- var sendCmd = &cobra.Command{
- Use: "send",
- Short: "Send a file(s) or directories from this host",
- Long: "Send a file(s) or directories from this host",
- Aliases: []string{"s"},
- Example: `# Send /path/file.gif. Webserver listens on a random port
- qrcp send /path/file.gif
- # Shorter version:
- qrcp /path/file.gif
- # Zip file1.gif and file2.gif, then send the zip package
- qrcp /path/file1.gif /path/file2.gif
- # Zip the content of directory, then send the zip package
- qrcp /path/directory
- # Send file.gif by creating a webserver on port 8080
- qrcp --port 8080 /path/file.gif
- `,
- Args: cobra.MinimumNArgs(1),
- RunE: sendCmdFunc,
- }
|