Documentation ¶
Index ¶
Constants ¶
View Source
const ( StatusUploaderNotAllowed = http.StatusIMUsed + 1 StatusLabelNotAllowed = http.StatusIMUsed + 2 StatusSizeNotAllowed = http.StatusIMUsed + 3 StatusRatioNotAllowed = http.StatusIMUsed )
View Source
const ( ErrInvalidJSONResponse = "invalid JSON response" ErrRecordLabelNotFound = "record label not found" ErrRecordLabelNotAllowed = "record label not allowed" ErrUploaderNotAllowed = "uploader is not allowed" ErrSizeNotAllowed = "torrent size is outside the requested size range" ErrRatioBelowMinimum = "returned ratio is below minimum requirement" )
View Source
const ( APIEndpointBaseRedacted = "https://redacted.ch/ajax.php" APIEndpointBaseOrpheus = "https://orpheus.network/ajax.php" )
Variables ¶
This section is empty.
Functions ¶
func WebhookHandler ¶
func WebhookHandler(w http.ResponseWriter, r *http.Request)
Types ¶
type CacheItem ¶
type CacheItem struct { Data *ResponseData LastFetched time.Time }
type RequestData ¶
type RequestData struct { REDUserID int `json:"red_user_id,omitempty"` OPSUserID int `json:"ops_user_id,omitempty"` TorrentID int `json:"torrent_id,omitempty"` REDKey string `json:"red_apikey,omitempty"` OPSKey string `json:"ops_apikey,omitempty"` MinRatio float64 `json:"minratio,omitempty"` MinSize bytesize.ByteSize `json:"minsize,omitempty"` MaxSize bytesize.ByteSize `json:"maxsize,omitempty"` Uploaders string `json:"uploaders,omitempty"` RecordLabel string `json:"record_labels,omitempty"` Mode string `json:"mode,omitempty"` Indexer string `json:"indexer"` }
type ResponseData ¶
type ResponseData struct { Status string `json:"status"` Error string `json:"error"` Response struct { Username string `json:"username"` Stats struct { Ratio float64 `json:"ratio"` } `json:"stats"` Group struct { Name string `json:"name"` MusicInfo struct { Artists []struct { ID int `json:"id"` Name string `json:"name"` } `json:"artists"` } `json:"musicInfo"` } `json:"group"` Torrent *struct { Username string `json:"username"` Size int64 `json:"size"` RecordLabel string `json:"remasterRecordLabel"` ReleaseName string `json:"filePath"` CatalogueNumber string `json:"remasterCatalogueNumber"` } `json:"torrent"` } `json:"response"` }
Click to show internal directories.
Click to hide internal directories.