[website] internal/short: include invalid input in error

3 views
Skip to first unread message

Dmitri Shuralyov (Gerrit)

unread,
May 13, 2022, 7:08:25 PM5/13/22
to Ian Lance Taylor, goph...@pubsubhelper.golang.org, Dmitri Shuralyov, golang-co...@googlegroups.com

Attention is currently required from: Ian Lance Taylor.

Dmitri Shuralyov would like Ian Lance Taylor to review this change.

View Change

internal/short: include invalid input in error

If the input is invalid, it generally helps to see it (including any
invisible characters as printed by %q) in the error message. Do that.

Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
---
M internal/short/short.go
1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/internal/short/short.go b/internal/short/short.go
index 8cbbb59..7c4c798 100644
--- a/internal/short/short.go
+++ b/internal/short/short.go
@@ -192,10 +192,10 @@
// putLink validates the provided link and puts it into the datastore.
func (h server) putLink(ctx context.Context, link *Link) error {
if !validKey.MatchString(link.Key) {
- return errors.New("invalid key; must match " + validKey.String())
+ return fmt.Errorf("invalid key %q; must match %s", link.Key, validKey.String())
}
if _, err := url.Parse(link.Target); err != nil {
- return fmt.Errorf("bad target: %v", err)
+ return fmt.Errorf("bad target %q: %v", link.Target, err)
}
k := datastore.NameKey(kind, link.Key, nil)
_, err := h.datastore.Put(ctx, k, link)

To view, visit change 406354. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: website
Gerrit-Branch: master
Gerrit-Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
Gerrit-Change-Number: 406354
Gerrit-PatchSet: 1
Gerrit-Owner: Dmitri Shuralyov <dmit...@golang.org>
Gerrit-Reviewer: Dmitri Shuralyov <dmit...@golang.org>
Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
Gerrit-Attention: Ian Lance Taylor <ia...@golang.org>
Gerrit-MessageType: newchange

Ian Lance Taylor (Gerrit)

unread,
May 13, 2022, 7:09:50 PM5/13/22
to Dmitri Shuralyov, goph...@pubsubhelper.golang.org, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

Attention is currently required from: Dmitri Shuralyov, Ian Lance Taylor.

Patch set 1:Code-Review +2

View Change

    To view, visit change 406354. To unsubscribe, or for help writing mail filters, visit settings.

    Gerrit-Project: website
    Gerrit-Branch: master
    Gerrit-Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
    Gerrit-Change-Number: 406354
    Gerrit-PatchSet: 1
    Gerrit-Owner: Dmitri Shuralyov <dmit...@golang.org>
    Gerrit-Reviewer: Dmitri Shuralyov <dmit...@golang.org>
    Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
    Gerrit-Reviewer: Ian Lance Taylor <ia...@google.com>
    Gerrit-CC: Gopher Robot <go...@golang.org>
    Gerrit-Attention: Dmitri Shuralyov <dmit...@golang.org>
    Gerrit-Attention: Ian Lance Taylor <ia...@golang.org>
    Gerrit-Comment-Date: Fri, 13 May 2022 23:09:46 +0000
    Gerrit-HasComments: No
    Gerrit-Has-Labels: Yes
    Gerrit-MessageType: comment

    Dmitri Shuralyov (Gerrit)

    unread,
    May 13, 2022, 7:10:44 PM5/13/22
    to Dmitri Shuralyov, goph...@pubsubhelper.golang.org, Gopher Robot, Ian Lance Taylor, golang-co...@googlegroups.com

    Attention is currently required from: Dmitri Shuralyov, Ian Lance Taylor.

    Patch set 1:Auto-Submit +1Code-Review +1

    View Change

      To view, visit change 406354. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: website
      Gerrit-Branch: master
      Gerrit-Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
      Gerrit-Change-Number: 406354
      Gerrit-PatchSet: 1
      Gerrit-Owner: Dmitri Shuralyov <dmit...@golang.org>
      Gerrit-Reviewer: Dmitri Shuralyov <dmit...@golang.org>
      Gerrit-Reviewer: Dmitri Shuralyov <dmit...@google.com>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@google.com>
      Gerrit-CC: Gopher Robot <go...@golang.org>
      Gerrit-Attention: Dmitri Shuralyov <dmit...@golang.org>
      Gerrit-Attention: Ian Lance Taylor <ia...@golang.org>
      Gerrit-Comment-Date: Fri, 13 May 2022 23:10:40 +0000

      Gopher Robot (Gerrit)

      unread,
      May 13, 2022, 7:12:28 PM5/13/22
      to Dmitri Shuralyov, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Dmitri Shuralyov, Ian Lance Taylor, golang-co...@googlegroups.com

      Gopher Robot submitted this change.

      View Change


      Approvals: Ian Lance Taylor: Looks good to me, approved Dmitri Shuralyov: Looks good to me, but someone else must approve; Automatically submit change Dmitri Shuralyov: Run TryBots Gopher Robot: TryBots succeeded
      internal/short: include invalid input in error

      If the input is invalid, it generally helps to see it (including any
      invisible characters as printed by %q) in the error message. Do that.

      Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
      Reviewed-on: https://go-review.googlesource.com/c/website/+/406354
      TryBot-Result: Gopher Robot <go...@golang.org>
      Run-TryBot: Dmitri Shuralyov <dmit...@golang.org>
      Auto-Submit: Dmitri Shuralyov <dmit...@google.com>
      Reviewed-by: Ian Lance Taylor <ia...@google.com>
      Reviewed-by: Dmitri Shuralyov <dmit...@google.com>
      ---
      M internal/short/short.go
      1 file changed, 20 insertions(+), 2 deletions(-)

      diff --git a/internal/short/short.go b/internal/short/short.go
      index 8cbbb59..7c4c798 100644
      --- a/internal/short/short.go
      +++ b/internal/short/short.go
      @@ -192,10 +192,10 @@
      // putLink validates the provided link and puts it into the datastore.
      func (h server) putLink(ctx context.Context, link *Link) error {
      if !validKey.MatchString(link.Key) {
      - return errors.New("invalid key; must match " + validKey.String())
      + return fmt.Errorf("invalid key %q; must match %s", link.Key, validKey.String())
      }
      if _, err := url.Parse(link.Target); err != nil {
      - return fmt.Errorf("bad target: %v", err)
      + return fmt.Errorf("bad target %q: %v", link.Target, err)
      }
      k := datastore.NameKey(kind, link.Key, nil)
      _, err := h.datastore.Put(ctx, k, link)

      To view, visit change 406354. To unsubscribe, or for help writing mail filters, visit settings.

      Gerrit-Project: website
      Gerrit-Branch: master
      Gerrit-Change-Id: Ibe179a7c03c29b1caa0532aff08cee1b11fbb051
      Gerrit-Change-Number: 406354
      Gerrit-PatchSet: 2
      Gerrit-Owner: Dmitri Shuralyov <dmit...@golang.org>
      Gerrit-Reviewer: Dmitri Shuralyov <dmit...@golang.org>
      Gerrit-Reviewer: Dmitri Shuralyov <dmit...@google.com>
      Gerrit-Reviewer: Gopher Robot <go...@golang.org>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@golang.org>
      Gerrit-Reviewer: Ian Lance Taylor <ia...@google.com>
      Gerrit-MessageType: merged
      Reply all
      Reply to author
      Forward
      0 new messages