Documentation ¶
Index ¶
- Constants
- Variables
- type ApiClient
- type Client
- func (c *Client) Do(req *http.Request) (*http.Response, error)
- func (c *Client) GetTorrentByID(ctx context.Context, torrentID string) (*domain.TorrentBasic, error)
- func (c *Client) GetTorrents(ctx context.Context) (*TorrentListResponse, error)
- func (c *Client) TestAPI(ctx context.Context) (bool, error)
- type Director
- type Movie
- type OptFunc
- type Torrent
- type TorrentListResponse
- type TorrentResponse
Constants ¶
View Source
const DefaultURL = "https://passthepopcorn.me/torrents.php"
Variables ¶
View Source
var ErrForbidden = errors.New("forbidden")
View Source
var ErrTooManyRequests = errors.New("too many requests: rate-limit reached")
Functions ¶
This section is empty.
Types ¶
type ApiClient ¶
type Client ¶
func (*Client) GetTorrentByID ¶
func (*Client) GetTorrents ¶ added in v1.46.0
func (c *Client) GetTorrents(ctx context.Context) (*TorrentListResponse, error)
type Movie ¶ added in v1.46.0
type Movie struct { GroupID string `json:"GroupId"` Title string `json:"Title"` Year string `json:"Year"` Cover string `json:"Cover"` Tags []string `json:"Tags"` Directors []Director `json:"Directors,omitempty"` ImdbID *string `json:"ImdbId,omitempty"` LastUploadTime string `json:"LastUploadTime"` MaxSize int64 `json:"MaxSize"` TotalSnatched int64 `json:"TotalSnatched"` TotalSeeders int64 `json:"TotalSeeders"` TotalLeechers int64 `json:"TotalLeechers"` Torrents []Torrent `json:"Torrents"` }
type Torrent ¶
type Torrent struct { Id string `json:"Id"` InfoHash string `json:"InfoHash"` Quality string `json:"Quality"` Source string `json:"Source"` Container string `json:"Container"` Codec string `json:"Codec"` Resolution string `json:"Resolution"` Size string `json:"Size"` Scene bool `json:"Scene"` UploadTime string `json:"UploadTime"` Snatched string `json:"Snatched"` Seeders string `json:"Seeders"` Leechers string `json:"Leechers"` ReleaseName string `json:"ReleaseName"` ReleaseGroup *string `json:"ReleaseGroup"` Checked bool `json:"Checked"` GoldenPopcorn bool `json:"GoldenPopcorn"` FreeleechType *string `json:"FreeleechType,omitempty"` RemasterTitle *string `json:"RemasterTitle,omitempty"` RemasterYear *string `json:"RemasterYear,omitempty"` }
func (*Torrent) UnmarshalJSON ¶ added in v1.48.0
custom unmarshal method for Torrent
type TorrentListResponse ¶ added in v1.46.0
type TorrentResponse ¶
type TorrentResponse struct { Page string `json:"Page"` Result string `json:"Result"` GroupId string `json:"GroupId"` Name string `json:"Name"` Year string `json:"Year"` CoverImage string `json:"CoverImage"` AuthKey string `json:"AuthKey"` PassKey string `json:"PassKey"` TorrentId string `json:"TorrentId"` ImdbId string `json:"ImdbId"` ImdbRating string `json:"ImdbRating"` ImdbVoteCount int `json:"ImdbVoteCount"` Torrents []Torrent `json:"Torrents"` }
Click to show internal directories.
Click to hide internal directories.