commit - 8a4431dbcec73c849fba0b624ae24f6ce1303bcc
commit + 6f092909c92185b689e43e27ae1e2603f6368834
blob - 5ad0de9649498f47f2554e606336495f5627d036
blob + 3f51c82a2505398b289ee6233753264189ca2d7c
--- cmd/apsend/apsend.go
+++ cmd/apsend/apsend.go
}, nil
}
+var jflag bool
var tflag bool
var Fflag bool
func init() {
- // log.SetFlags...
+ log.SetFlags(0)
+ log.SetPrefix("apsend: ")
flag.BoolVar(&Fflag, "F", false, "file a copy for the sender")
flag.BoolVar(&tflag, "t", false, "read recipients from message")
+ flag.BoolVar(&jflag, "t", false, "read ActivityPub JSON")
flag.Parse()
}
os.Exit(1)
}
- bmsg, err := io.ReadAll(os.Stdin)
- if err != nil {
- log.Fatal(err)
+ var activity *apub.Activity
+ var bmsg []byte
+ var err error
+ if jflag {
+ var err error
+ activity, err = apub.Decode(os.Stdin)
+ if err != nil {
+ log.Fatalln("decode activity:", err)
+ }
+ } else {
+ bmsg, err = io.ReadAll(os.Stdin)
+ if err != nil {
+ log.Fatal(err)
+ }
+ msg, err := mail.ReadMessage(bytes.NewReader(bmsg))
+ if err != nil {
+ log.Fatal(err)
+ }
+ activity, err = apub.UnmarshalMail(msg)
+ if err != nil {
+ log.Fatalln("unmarshal activity from message:", err)
+ }
}
- msg, err := mail.ReadMessage(bytes.NewReader(bmsg))
- if err != nil {
- log.Fatal(err)
- }
- activity, err := apub.UnmarshalMail(msg)
- if err != nil {
- log.Fatalln("unmarshal activity from message:", err)
- }
var remote []string
for _, rcpt := range flag.Args() {
// overwrite auto generated ID from mail clients
if !strings.HasPrefix(activity.ID, "https://") {
activity.ID = from.Outbox + "/" + strconv.Itoa(int(activity.Published.Unix()))
- bmsg, _ = apub.MarshalMail(activity)
+ bmsg, err = apub.MarshalMail(activity)
+ if err != nil {
+ log.Fatalf("remarshal %s activity to mail: %v", activity.Type, err)
+ }
}
// Permit this activity for the public, too;