mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-17 17:47:03 +00:00
- All packages go into either cmd or pkg directories - Most packages renamed - Server packages moved into pkg/server - sanitize moved into webui, as that's the only place it's used - filestore moved into pkg/storage/file - Makefile updated, and PKG variable use fixed
55 lines
947 B
Go
55 lines
947 B
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"flag"
|
|
"fmt"
|
|
|
|
"github.com/google/subcommands"
|
|
"github.com/jhillyerd/inbucket/pkg/rest/client"
|
|
)
|
|
|
|
type listCmd struct {
|
|
mailbox string
|
|
}
|
|
|
|
func (*listCmd) Name() string {
|
|
return "list"
|
|
}
|
|
|
|
func (*listCmd) Synopsis() string {
|
|
return "list contents of mailbox"
|
|
}
|
|
|
|
func (*listCmd) Usage() string {
|
|
return `list <mailbox>:
|
|
list message IDs in mailbox
|
|
`
|
|
}
|
|
|
|
func (l *listCmd) SetFlags(f *flag.FlagSet) {
|
|
}
|
|
|
|
func (l *listCmd) Execute(
|
|
_ context.Context, f *flag.FlagSet, _ ...interface{}) subcommands.ExitStatus {
|
|
mailbox := f.Arg(0)
|
|
if mailbox == "" {
|
|
return usage("mailbox required")
|
|
}
|
|
// Setup rest client
|
|
c, err := client.New(baseURL())
|
|
if err != nil {
|
|
return fatal("Couldn't build client", err)
|
|
}
|
|
// Get list
|
|
headers, err := c.ListMailbox(mailbox)
|
|
if err != nil {
|
|
return fatal("REST call failed", err)
|
|
}
|
|
for _, h := range headers {
|
|
fmt.Println(h.ID)
|
|
}
|
|
|
|
return subcommands.ExitSuccess
|
|
}
|