fix lineProcessingError() -- it wasn't returning a ctx so it was a noop.

This commit is contained in:
fiatjaf 2024-07-11 15:33:19 -03:00
parent 2ca6bb0940
commit 316d94166e
9 changed files with 23 additions and 23 deletions

View File

@ -50,7 +50,7 @@ var decode = &cli.Command{
decodeResult.HexResult.PrivateKey = hex.EncodeToString(b) decodeResult.HexResult.PrivateKey = hex.EncodeToString(b)
decodeResult.HexResult.PublicKey = hex.EncodeToString(b) decodeResult.HexResult.PublicKey = hex.EncodeToString(b)
} else { } else {
lineProcessingError(ctx, "hex string with invalid number of bytes: %d", len(b)) ctx = lineProcessingError(ctx, "hex string with invalid number of bytes: %d", len(b))
continue continue
} }
} else if evp := sdk.InputToEventPointer(input); evp != nil { } else if evp := sdk.InputToEventPointer(input); evp != nil {
@ -64,7 +64,7 @@ var decode = &cli.Command{
decodeResult.PrivateKey.PrivateKey = value.(string) decodeResult.PrivateKey.PrivateKey = value.(string)
decodeResult.PrivateKey.PublicKey, _ = nostr.GetPublicKey(value.(string)) decodeResult.PrivateKey.PublicKey, _ = nostr.GetPublicKey(value.(string))
} else { } else {
lineProcessingError(ctx, "couldn't decode input '%s': %s", input, err) ctx = lineProcessingError(ctx, "couldn't decode input '%s': %s", input, err)
continue continue
} }

View File

@ -32,7 +32,7 @@ var encode = &cli.Command{
Action: func(ctx context.Context, c *cli.Command) error { Action: func(ctx context.Context, c *cli.Command) error {
for target := range getStdinLinesOrArguments(c.Args()) { for target := range getStdinLinesOrArguments(c.Args()) {
if ok := nostr.IsValidPublicKey(target); !ok { if ok := nostr.IsValidPublicKey(target); !ok {
lineProcessingError(ctx, "invalid public key: %s", target) ctx = lineProcessingError(ctx, "invalid public key: %s", target)
continue continue
} }
@ -53,7 +53,7 @@ var encode = &cli.Command{
Action: func(ctx context.Context, c *cli.Command) error { Action: func(ctx context.Context, c *cli.Command) error {
for target := range getStdinLinesOrArguments(c.Args()) { for target := range getStdinLinesOrArguments(c.Args()) {
if ok := nostr.IsValid32ByteHex(target); !ok { if ok := nostr.IsValid32ByteHex(target); !ok {
lineProcessingError(ctx, "invalid private key: %s", target) ctx = lineProcessingError(ctx, "invalid private key: %s", target)
continue continue
} }
@ -81,7 +81,7 @@ var encode = &cli.Command{
Action: func(ctx context.Context, c *cli.Command) error { Action: func(ctx context.Context, c *cli.Command) error {
for target := range getStdinLinesOrArguments(c.Args()) { for target := range getStdinLinesOrArguments(c.Args()) {
if ok := nostr.IsValid32ByteHex(target); !ok { if ok := nostr.IsValid32ByteHex(target); !ok {
lineProcessingError(ctx, "invalid public key: %s", target) ctx = lineProcessingError(ctx, "invalid public key: %s", target)
continue continue
} }
@ -119,7 +119,7 @@ var encode = &cli.Command{
Action: func(ctx context.Context, c *cli.Command) error { Action: func(ctx context.Context, c *cli.Command) error {
for target := range getStdinLinesOrArguments(c.Args()) { for target := range getStdinLinesOrArguments(c.Args()) {
if ok := nostr.IsValid32ByteHex(target); !ok { if ok := nostr.IsValid32ByteHex(target); !ok {
lineProcessingError(ctx, "invalid event id: %s", target) ctx = lineProcessingError(ctx, "invalid event id: %s", target)
continue continue
} }
@ -189,7 +189,7 @@ var encode = &cli.Command{
if d == "" { if d == "" {
d = c.String("identifier") d = c.String("identifier")
if d == "" { if d == "" {
lineProcessingError(ctx, "\"d\" tag identifier can't be empty") ctx = lineProcessingError(ctx, "\"d\" tag identifier can't be empty")
continue continue
} }
} }
@ -216,7 +216,7 @@ var encode = &cli.Command{
Action: func(ctx context.Context, c *cli.Command) error { Action: func(ctx context.Context, c *cli.Command) error {
for target := range getStdinLinesOrArguments(c.Args()) { for target := range getStdinLinesOrArguments(c.Args()) {
if ok := nostr.IsValid32ByteHex(target); !ok { if ok := nostr.IsValid32ByteHex(target); !ok {
lineProcessingError(ctx, "invalid event id: %s", target) ctx = lineProcessingError(ctx, "invalid event id: %s", target)
continue continue
} }

View File

@ -176,7 +176,7 @@ example:
if stdinEvent != "" { if stdinEvent != "" {
if err := easyjson.Unmarshal([]byte(stdinEvent), &evt); err != nil { if err := easyjson.Unmarshal([]byte(stdinEvent), &evt); err != nil {
lineProcessingError(ctx, "invalid event received from stdin: %s", err) ctx = lineProcessingError(ctx, "invalid event received from stdin: %s", err)
continue continue
} }
kindWasSupplied = strings.Contains(stdinEvent, `"kind"`) kindWasSupplied = strings.Contains(stdinEvent, `"kind"`)

View File

@ -38,7 +38,7 @@ var fetch = &cli.Command{
prefix, value, err := nip19.Decode(code) prefix, value, err := nip19.Decode(code)
if err != nil { if err != nil {
lineProcessingError(ctx, "failed to decode: %s", err) ctx = lineProcessingError(ctx, "failed to decode: %s", err)
continue continue
} }
@ -88,7 +88,7 @@ var fetch = &cli.Command{
} }
if len(relays) == 0 { if len(relays) == 0 {
lineProcessingError(ctx, "no relay hints found") ctx = lineProcessingError(ctx, "no relay hints found")
continue continue
} }

View File

@ -169,9 +169,9 @@ relayLoop:
return pool, relays return pool, relays
} }
func lineProcessingError(ctx context.Context, msg string, args ...any) { func lineProcessingError(ctx context.Context, msg string, args ...any) context.Context {
ctx = context.WithValue(ctx, LINE_PROCESSING_ERROR, true)
log(msg+"\n", args...) log(msg+"\n", args...)
return context.WithValue(ctx, LINE_PROCESSING_ERROR, true)
} }
func exitIfLineProcessingError(ctx context.Context) { func exitIfLineProcessingError(ctx context.Context) {

10
key.go
View File

@ -50,7 +50,7 @@ var public = &cli.Command{
for sec := range getSecretKeysFromStdinLinesOrSlice(ctx, c, c.Args().Slice()) { for sec := range getSecretKeysFromStdinLinesOrSlice(ctx, c, c.Args().Slice()) {
pubkey, err := nostr.GetPublicKey(sec) pubkey, err := nostr.GetPublicKey(sec)
if err != nil { if err != nil {
lineProcessingError(ctx, "failed to derive public key: %s", err) ctx = lineProcessingError(ctx, "failed to derive public key: %s", err)
continue continue
} }
stdout(pubkey) stdout(pubkey)
@ -88,7 +88,7 @@ var encrypt = &cli.Command{
for sec := range getSecretKeysFromStdinLinesOrSlice(ctx, c, keys) { for sec := range getSecretKeysFromStdinLinesOrSlice(ctx, c, keys) {
ncryptsec, err := nip49.Encrypt(sec, password, uint8(c.Int("logn")), 0x02) ncryptsec, err := nip49.Encrypt(sec, password, uint8(c.Int("logn")), 0x02)
if err != nil { if err != nil {
lineProcessingError(ctx, "failed to encrypt: %s", err) ctx = lineProcessingError(ctx, "failed to encrypt: %s", err)
continue continue
} }
stdout(ncryptsec) stdout(ncryptsec)
@ -133,7 +133,7 @@ var decrypt = &cli.Command{
for ncryptsec := range getStdinLinesOrArgumentsFromSlice([]string{ncryptsec}) { for ncryptsec := range getStdinLinesOrArgumentsFromSlice([]string{ncryptsec}) {
sec, err := nip49.Decrypt(ncryptsec, password) sec, err := nip49.Decrypt(ncryptsec, password)
if err != nil { if err != nil {
lineProcessingError(ctx, "failed to decrypt: %s", err) ctx = lineProcessingError(ctx, "failed to decrypt: %s", err)
continue continue
} }
nsec, _ := nip19.EncodePrivateKey(sec) nsec, _ := nip19.EncodePrivateKey(sec)
@ -264,13 +264,13 @@ func getSecretKeysFromStdinLinesOrSlice(ctx context.Context, c *cli.Command, key
if strings.HasPrefix(sec, "nsec1") { if strings.HasPrefix(sec, "nsec1") {
_, data, err := nip19.Decode(sec) _, data, err := nip19.Decode(sec)
if err != nil { if err != nil {
lineProcessingError(ctx, "invalid nsec code: %s", err) ctx = lineProcessingError(ctx, "invalid nsec code: %s", err)
continue continue
} }
sec = data.(string) sec = data.(string)
} }
if !nostr.IsValid32ByteHex(sec) { if !nostr.IsValid32ByteHex(sec) {
lineProcessingError(ctx, "invalid hex key") ctx = lineProcessingError(ctx, "invalid hex key")
continue continue
} }
ch <- sec ch <- sec

View File

@ -23,7 +23,7 @@ var relay = &cli.Command{
info, err := nip11.Fetch(ctx, url) info, err := nip11.Fetch(ctx, url)
if err != nil { if err != nil {
lineProcessingError(ctx, "failed to fetch '%s' information document: %w", url, err) ctx = lineProcessingError(ctx, "failed to fetch '%s' information document: %w", url, err)
continue continue
} }

2
req.go
View File

@ -182,7 +182,7 @@ example:
filter := nostr.Filter{} filter := nostr.Filter{}
if stdinFilter != "" { if stdinFilter != "" {
if err := easyjson.Unmarshal([]byte(stdinFilter), &filter); err != nil { if err := easyjson.Unmarshal([]byte(stdinFilter), &filter); err != nil {
lineProcessingError(ctx, "invalid filter '%s' received from stdin: %s", stdinFilter, err) ctx = lineProcessingError(ctx, "invalid filter '%s' received from stdin: %s", stdinFilter, err)
continue continue
} }
} }

View File

@ -20,18 +20,18 @@ it outputs nothing if the verification is successful.`,
evt := nostr.Event{} evt := nostr.Event{}
if stdinEvent != "" { if stdinEvent != "" {
if err := json.Unmarshal([]byte(stdinEvent), &evt); err != nil { if err := json.Unmarshal([]byte(stdinEvent), &evt); err != nil {
lineProcessingError(ctx, "invalid event: %s", err) ctx = lineProcessingError(ctx, "invalid event: %s", err)
continue continue
} }
} }
if evt.GetID() != evt.ID { if evt.GetID() != evt.ID {
lineProcessingError(ctx, "invalid .id, expected %s, got %s", evt.GetID(), evt.ID) ctx = lineProcessingError(ctx, "invalid .id, expected %s, got %s", evt.GetID(), evt.ID)
continue continue
} }
if ok, err := evt.CheckSignature(); !ok { if ok, err := evt.CheckSignature(); !ok {
lineProcessingError(ctx, "invalid signature: %s", err) ctx = lineProcessingError(ctx, "invalid signature: %s", err)
continue continue
} }
} }