@@ -22,6 +22,7 @@ import (
2222var (
2323 ErrNoIP = errors .New ("ip address is empty" )
2424 ErrInvalid = errors .New ("ip address is invalid" )
25+ ErrRequest = errors .New ("ipify.org error" )
2526 ErrStatus = errors .New ("unusual ipify.org server response" )
2627)
2728
@@ -45,7 +46,7 @@ func IPv6(ctx context.Context, cancel context.CancelFunc) (string, error) {
4546// Request the seeip API URL and return a valid IPv4 or IPv6 address.
4647func Request (ctx context.Context , cancel context.CancelFunc , url string ) (string , error ) {
4748 b , err := request (ctx , cancel , url )
48- if b == nil && err == nil && ctx .Err () == context .Canceled {
49+ if b == nil && err == nil && errors . Is ( ctx .Err (), context .Canceled ) {
4950 return "" , nil
5051 }
5152 if err != nil {
@@ -54,13 +55,14 @@ func Request(ctx context.Context, cancel context.CancelFunc, url string) (string
5455 fmt .Printf ("\n %s: timeout" , domain )
5556 return "" , nil
5657 default :
57- if err == nil && ctx .Err () == context .Canceled {
58+ if err == nil && errors . Is ( ctx .Err (), context .Canceled ) {
5859 return "" , nil
5960 }
60- if errors .Unwrap (err ) == context .Canceled {
61+ if errors .Is ( errors . Unwrap (err ), context .Canceled ) {
6162 return "" , nil
6263 }
63- return "" , fmt .Errorf ("%s error: %s" , domain , err )
64+ e := fmt .Errorf ("%w: %s" , ErrRequest , err )
65+ return "" , e
6466 }
6567 }
6668
@@ -86,8 +88,6 @@ func request(ctx context.Context, cancel context.CancelFunc, url string) ([]byte
8688 }
8789 defer resp .Body .Close ()
8890
89- //log.Printf("\nReceived %d from %s\n", resp.StatusCode, url)
90-
9191 if resp .StatusCode != http .StatusOK {
9292 return nil , fmt .Errorf ("%s, %w" , strings .ToLower (resp .Status ), ErrStatus )
9393 }
0 commit comments