github.com/wtfutil/wtf@v0.43.0/modules/urlcheck/urlResult.go (about)

     1  package urlcheck
     2  
     3  import (
     4  	"net/url"
     5  )
     6  
     7  const InvalidResultCode = 999
     8  
     9  // Collect useful properties of each given URL
    10  type urlResult struct {
    11  	Url           string
    12  	ResultCode    int
    13  	ResultMessage string
    14  	IsValid       bool
    15  }
    16  
    17  // Create a UrlResult instance from an urls occurence in the settings
    18  func newUrlResult(urlString string) *urlResult {
    19  
    20  	uResult := urlResult{
    21  		Url: urlString,
    22  	}
    23  
    24  	_, err := url.ParseRequestURI(urlString)
    25  	if err != nil {
    26  		uResult.ResultMessage = err.Error()
    27  		uResult.ResultCode = InvalidResultCode
    28  		uResult.IsValid = false
    29  		return &uResult
    30  	}
    31  
    32  	uResult.IsValid = true
    33  	return &uResult
    34  }