url-parser/cmd/url-parser/config.go

85 lines
1.7 KiB
Go
Raw Normal View History

2020-02-03 00:19:01 +01:00
package main
import (
2020-09-21 20:24:51 +02:00
"github.com/thegeeklab/url-parser/internal/command"
2020-02-03 00:19:01 +01:00
"github.com/urfave/cli/v2"
)
func globalFlags() []cli.Flag {
return []cli.Flag{
&cli.StringFlag{
Name: "url",
Usage: "source url to parse",
EnvVars: []string{"URL_PARSER_URL"},
},
}
}
func configCommands() []*cli.Command {
return []*cli.Command{
{
Name: "all",
Aliases: []string{"a"},
2020-02-03 15:00:54 +01:00
Usage: "Get all parts from url",
2020-09-21 20:24:51 +02:00
Action: command.Run,
2020-02-03 00:19:01 +01:00
Flags: globalFlags(),
},
{
Name: "scheme",
Aliases: []string{"s"},
2020-02-03 15:00:54 +01:00
Usage: "Get scheme from url",
2020-09-21 20:24:51 +02:00
Action: command.Scheme,
2020-02-03 00:19:01 +01:00
Flags: globalFlags(),
},
{
Name: "user",
Aliases: []string{"u"},
2020-02-03 15:00:54 +01:00
Usage: "Get username from url",
2020-09-21 20:24:51 +02:00
Action: command.User,
2020-02-03 00:19:01 +01:00
Flags: globalFlags(),
},
{
Name: "password",
2020-02-03 15:00:54 +01:00
Aliases: []string{"pw"},
Usage: "Get password from url",
2020-09-21 20:24:51 +02:00
Action: command.Password,
2020-02-03 00:19:01 +01:00
Flags: globalFlags(),
},
{
Name: "path",
Aliases: []string{"pt"},
2020-02-03 15:00:54 +01:00
Usage: "Get path from url",
2020-09-21 20:24:51 +02:00
Action: command.Path,
Flags: append(globalFlags(), command.PathFlags()...),
2020-02-03 00:19:01 +01:00
},
2020-02-03 15:00:54 +01:00
{
Name: "host",
Aliases: []string{"h"},
Usage: "Get hostname from url",
2020-09-21 20:24:51 +02:00
Action: command.Host,
2020-02-03 15:00:54 +01:00
Flags: globalFlags(),
},
{
Name: "port",
Aliases: []string{"p"},
Usage: "Get port from url",
2020-09-21 20:24:51 +02:00
Action: command.Port,
2020-02-03 15:00:54 +01:00
Flags: globalFlags(),
},
{
Name: "query",
Aliases: []string{"q"},
Usage: "Get query from url",
2020-09-21 20:24:51 +02:00
Action: command.Query,
Flags: append(globalFlags(), command.QueryFlags()...),
2020-02-03 15:00:54 +01:00
},
{
Name: "fragment",
Aliases: []string{"f"},
Usage: "Get fragment from url",
2020-09-21 20:24:51 +02:00
Action: command.Fragment,
2020-02-03 15:00:54 +01:00
Flags: globalFlags(),
},
2020-02-03 00:19:01 +01:00
}
}