var Markets = []string{ "amer", "apac", "emea", "latam", }
type Dash struct { Body []byte Url *url.URL }
type Error struct { Detail string // show was filtered by validator Message string // Token is missing or not valid }
func (e *Error) Error() string
type Initiate struct { LinkingCode string TargetUrl string }
func (i *Initiate) String() string
type Login struct { Data struct { Attributes struct { Token string } } }
func (l Login) Movie(show *ShowKey) (*Videos, error)
func (l *Login) PlayReady(editId string) (*Playback, error)
func (l Login) Season(show *ShowKey, number int) (*Videos, error)
func (l *Login) Widevine(editId string) (*Playback, error)
type Playback struct { Drm struct { Schemes struct { PlayReady *Scheme Widevine *Scheme } } Errors []Error Fallback struct { Manifest struct { Url string // _fallback.mpd:1080p, .mpd:4K } } Manifest struct { Url string // 1080p } }
func (p *Playback) Dash() (*Dash, error)
func (p *Playback) PlayReady(data []byte) ([]byte, error)
func (p *Playback) Widevine(data []byte) ([]byte, error)
type Scheme struct { LicenseUrl string }
type ShowKey struct { Type string Id string }
func (s *ShowKey) Parse(rawUrl string) error
type St struct { Cookie *http.Cookie }
func (s *St) Fetch() error
func (s St) Initiate(market string) (*Initiate, error)
func (s St) Login() (*Login, error)
you must /authentication/linkDevice/initiate first or this will always fail
type Video struct { Attributes *struct { SeasonNumber int EpisodeNumber int Name string VideoType string } Relationships *struct { Edit *struct { Data struct { Id string } } } }
func (v *Video) String() string
type Videos struct { Errors []Error Included []*Video }
func (v *Videos) FilterAndSort()