package deadlinks import ( "fmt" "time" ) // ResourceStatus describes what state a particular Resource is in. type ResourceStatus int // Enumeration of ResourceStatus values. const ( ResourceStatusUnknown ResourceStatus = iota ResourceStatusOK ResourceStatusError ) func (ds ResourceStatus) String() string { switch ds { case ResourceStatusUnknown: return "UNKNOWN" case ResourceStatusOK: return "OK" case ResourceStatusError: return "ERROR" default: panic(fmt.Sprintf("unknown ResourceStatus: %#v", ds)) } } // Resource describes the current state of a resource, with the resource being // uniquely identified by a URL. type Resource struct { URL URL Status ResourceStatus Pinned bool LastChecked time.Time // only set if Status == ResourceStatusError ErrorString string // Indicate the URLs of resources which link to/are linked from this // resource. IncomingLinkURLs, OutgoingLinkURLs []URL }