|
| 1 | +package chatlog |
| 2 | + |
| 3 | +import ( |
| 4 | + "runtime" |
| 5 | + |
| 6 | + "github.com/sjzar/chatlog/internal/chatlog" |
| 7 | + |
| 8 | + "github.com/rs/zerolog/log" |
| 9 | + "github.com/spf13/cobra" |
| 10 | +) |
| 11 | + |
| 12 | +func init() { |
| 13 | + rootCmd.AddCommand(serverCmd) |
| 14 | + serverCmd.Flags().StringVarP(&serverAddr, "addr", "a", "127.0.0.1:5030", "server address") |
| 15 | + serverCmd.Flags().StringVarP(&serverDataDir, "data-dir", "d", "", "data dir") |
| 16 | + serverCmd.Flags().StringVarP(&serverWorkDir, "work-dir", "w", "", "work dir") |
| 17 | + serverCmd.Flags().StringVarP(&serverPlatform, "platform", "p", runtime.GOOS, "platform") |
| 18 | + serverCmd.Flags().IntVarP(&serverVer, "version", "v", 3, "version") |
| 19 | +} |
| 20 | + |
| 21 | +var ( |
| 22 | + serverAddr string |
| 23 | + serverDataDir string |
| 24 | + serverWorkDir string |
| 25 | + serverPlatform string |
| 26 | + serverVer int |
| 27 | +) |
| 28 | + |
| 29 | +var serverCmd = &cobra.Command{ |
| 30 | + Use: "server", |
| 31 | + Short: "Start HTTP server", |
| 32 | + Run: func(cmd *cobra.Command, args []string) { |
| 33 | + m, err := chatlog.New("") |
| 34 | + if err != nil { |
| 35 | + log.Err(err).Msg("failed to create chatlog instance") |
| 36 | + return |
| 37 | + } |
| 38 | + if err := m.CommandHTTPServer(serverAddr, serverDataDir, serverWorkDir, serverPlatform, serverVer); err != nil { |
| 39 | + log.Err(err).Msg("failed to start server") |
| 40 | + return |
| 41 | + } |
| 42 | + }, |
| 43 | +} |
0 commit comments