@@ -72,42 +72,43 @@ func shortFile(fname string) {
7272}
7373
7474// shortCmd processes the given alias and link with a specified op.
75- func shortCmd (ctx context.Context , operate op , alias , link string ) (retErr error ) {
75+ func shortCmd (ctx context.Context , operate op , alias , link string ) (err error ) {
7676 s , err := newStore (conf .Store )
7777 if err != nil {
78- return fmt .Errorf ("cannot create a new alias, err: %w" , err )
78+ err = fmt .Errorf ("cannot create a new alias, err: %w" , err )
79+ return
7980 }
8081 defer s .Close ()
8182
82- errf := func (o op , err error ) {
83- retErr = fmt .Errorf ("cannot %v alias to data store, err: %w" , o , err )
84- }
83+ defer func () {
84+ if err != nil {
85+ err = fmt .Errorf ("cannot %v alias to data store, err: %w" , operate , err )
86+ }
87+ }()
88+
8589 switch operate {
8690 case opCreate :
8791 err = s .StoreAlias (ctx , alias , link )
8892 if err != nil {
89- errf (opCreate , err )
9093 return
9194 }
9295 log .Printf ("alias %v has been created.\n " , alias )
9396 case opUpdate :
9497 err = s .UpdateAlias (ctx , alias , link )
9598 if err != nil {
96- errf (opUpdate , err )
9799 return
98100 }
99101 log .Printf ("alias %v has been updated.\n " , alias )
100102 case opDelete :
101103 err = s .DeleteAlias (ctx , alias )
102104 if err != nil {
103- errf (opDelete , err )
104105 return
105106 }
106107 log .Printf ("alias %v has been deleted.\n " , alias )
107108 case opFetch :
108- r , err := s .FetchAlias (ctx , alias )
109+ var r string
110+ r , err = s .FetchAlias (ctx , alias )
109111 if err != nil {
110- errf (opFetch , err )
111112 return
112113 }
113114 log .Println (r )
@@ -118,6 +119,7 @@ func shortCmd(ctx context.Context, operate op, alias, link string) (retErr error
118119// sHandler redirects ...
119120func (s * server ) sHandler (w http.ResponseWriter , r * http.Request ) {
120121 ctx := r .Context ()
122+
121123 var err error
122124 defer func () {
123125 if err != nil {
@@ -128,6 +130,7 @@ func (s *server) sHandler(w http.ResponseWriter, r *http.Request) {
128130 http .Redirect (w , r , "/404.html" , http .StatusTemporaryRedirect )
129131 }
130132 }()
133+
131134 alias := strings .TrimSuffix (strings .TrimPrefix (r .URL .Path , conf .S .Prefix ), "/" )
132135 if alias == "" {
133136 err = s .stats (ctx , w )
0 commit comments