client

package
v0.0.0-...-90d4bfc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2022 License: MIT Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StandardHeaders

func StandardHeaders() http.Header

Types

type Config

type Config struct {
	PassThroughQos             string   `json:"pass_through_qos"`
	Kinko                      string   `json:"kinko"`
	PackageID                  int      `json:"package_id"`
	API                        string   `json:"api"`
	QosBeacon                  string   `json:"qos_beacon"`
	NielsenAppName             string   `json:"nielsen_app_name"`
	FeedbackCategory           int      `json:"feedbackCategory"`
	PlusPlanID                 int      `json:"plus_plan_id"`
	FirehoseEndpoint           string   `json:"firehose_endpoint"`
	PbAutoresumeTimeout        int      `json:"pb_autoresume_timeout"`
	SashProductDescription     string   `json:"sash_product_description"`
	PlaylistEndpoint           string   `json:"playlist_endpoint"`
	NielsenAppID               string   `json:"nielsen_app_id"`
	PackageGroupID             int      `json:"package_group_id"`
	FlexActionEndpoint         string   `json:"flex_action_endpoint"`
	PlaybackRequestTimeout     int      `json:"playback_request_timeout"`
	Asset                      string   `json:"asset"`
	NoahSignupExceptionMessage []string `json:"noah_signup_exception_message"`
	PbInterval                 int      `json:"pb_interval"`
	PackageGroupIDFrontPorch   int      `json:"package_group_id_front_porch"`
	FlagsContext               struct {
		FlagStateValid bool   `json:"flag_state_valid"`
		UILink         string `json:"ui_link"`
		Key            string `json:"key"`
		SealTokenState string `json:"seal_token_state"`
	} `json:"flags_context"`
	SashProductTitle          string `json:"sash_product_title"`
	TrackTiersDeepPlayerState int    `json:"track_tiers_deep_player_state"`
	UserAccountURL            string `json:"userAccountURL"`
	Pgid                      int    `json:"pgid"`
	GeokResponse              string `json:"geok_response"`
	UserInfoURL               string `json:"user_info_url"`
	ChangePlanURL             string `json:"changePlanURL"`
	Profiles                  struct {
		PromptAfterIdleMs int `json:"prompt_after_idle_ms"`
	} `json:"profiles"`
	AutoplayIdleTimeout          int    `json:"autoplay_idle_timeout"`
	NielsenSfCode                string `json:"nielsen_sf_code"`
	PlusLandingURL               string `json:"plusLandingURL"`
	NielsenAppVersion            string `json:"nielsen_app_version"`
	PlayerProgressReportInterval int    `json:"player_progress_report_interval"`
	ProductInstrumentationV2     struct {
		MetricsAgent struct {
			Endpoint       string `json:"endpoint"`
			MaxHitRetries  int    `json:"max_hit_retries"`
			SamplingRatios struct {
				ServiceCall float64 `json:"service_call"`
			} `json:"sampling_ratios"`
			MsPerEvent        int  `json:"ms_per_event"`
			Enabled           bool `json:"enabled"`
			MaxHitQueueMs     int  `json:"max_hit_queue_ms"`
			EventFilterConfig struct {
			} `json:"event_filter_config"`
			OnlineAssetMaxBeaconQueueMs     int      `json:"online_asset_max_beacon_queue_ms"`
			DownloadedAssetMaxBeaconQueueMs int      `json:"downloaded_asset_max_beacon_queue_ms"`
			EventWhitelist                  []string `json:"event_whitelist"`
			NonInteractiveEvents            []string `json:"non_interactive_events"`
			BucketSize                      int      `json:"bucket_size"`
		} `json:"metrics_agent"`
		ConvivaAgent struct {
			FatalErrors []string `json:"fatal_errors"`
			Staging     bool     `json:"staging"`
			Token       string   `json:"token"`
			Enabled     bool     `json:"enabled"`
			GatewayURL  string   `json:"gateway_url"`
		} `json:"conviva_agent"`
		MetricsTracker struct {
		} `json:"metrics_tracker"`
		RateLimiting struct {
			SegmentDownloadHit int `json:"segment_download_hit"`
		} `json:"rate_limiting"`
		AdobeAgent struct {
			AppMeasurementTrackingServer string `json:"app_measurement_tracking_server"`
			VisitorMcid                  string `json:"visitor_mcid"`
			Enabled                      bool   `json:"enabled"`
			AppMeasurementRsid           string `json:"app_measurement_rsid"`
			VisitorTrackingServer        string `json:"visitor_tracking_server"`
			HeartbeatTrackingServer      string `json:"heartbeat_tracking_server"`
		} `json:"adobe_agent"`
		MoatAgent struct {
			Enabled bool `json:"enabled"`
		} `json:"moat_agent"`
		AdobeAgentV2 struct {
			AppMeasurementTrackingServer string `json:"app_measurement_tracking_server"`
			VisitorMcid                  string `json:"visitor_mcid"`
			Enabled                      bool   `json:"enabled"`
			AppMeasurementRsid           string `json:"app_measurement_rsid"`
			VisitorTrackingServer        string `json:"visitor_tracking_server"`
			HeartbeatTrackingServer      string `json:"heartbeat_tracking_server"`
		} `json:"adobe_agent_v2"`
	} `json:"product_instrumentation_v2"`
	FeedbackURL       string `json:"feedbackURL"`
	IsAnonProxy       bool   `json:"is_anon_proxy"`
	NielsenEnabled    string `json:"nielsen_enabled"`
	EurekaNamespace   string `json:"eureka_namespace"`
	ReportGeocheckURL string `json:"reportGeocheckURL"`
	PbTracker         string `json:"pb_tracker"`
	MetricsAgent      struct {
		MaxBatchesBuffered int  `json:"max_batches_buffered"`
		MaxBatchSize       int  `json:"max_batch_size"`
		Enabled            bool `json:"enabled"`
		EventFilterConfig  struct {
			ServiceCall struct {
				EventRules []struct {
					RuleType   string `json:"rule_type"`
					RuleFilter struct {
						Type      string `json:"type,omitempty"`
						Dimension string `json:"dimension,omitempty"`
						Value     string `json:"value,omitempty"`
						Filters   []struct {
							Type      string `json:"type,omitempty"`
							Dimension string `json:"dimension,omitempty"`
							Value     string `json:"value,omitempty"`
						} `json:"filters,omitempty"`
					} `json:"rule_filter,omitempty"`
				} `json:"event_rules"`
			} `json:"service_call"`
			Log struct {
				EventRules []struct {
					RuleType   string `json:"rule_type"`
					RuleFilter struct {
						Filter struct {
							Type    string `json:"type"`
							Filters []struct {
								Type      string `json:"type"`
								Dimension string `json:"dimension"`
								Value     string `json:"value"`
							} `json:"filters"`
						} `json:"filter"`
						Type string `json:"type"`
					} `json:"rule_filter"`
				} `json:"event_rules"`
			} `json:"log"`
		} `json:"event_filter_config"`
		Endpoint      string `json:"endpoint"`
		FlushInterval int    `json:"flush_interval"`
	} `json:"metrics_agent"`
	Iball                    string `json:"iball"`
	HuluMbr                  string `json:"hulu_mbr"`
	NoahSignupExceptionShows []struct {
		ID    int    `json:"id"`
		Title string `json:"title"`
	} `json:"noah_signup_exception_shows"`
	BeaconConfig           string `json:"beacon_config"`
	Sapi                   string `json:"sapi"`
	Csel                   string `json:"csel"`
	ProfileBitrates        []int  `json:"profile_bitrates"`
	PlusLearnMoreURL       string `json:"plusLearnMoreURL"`
	NoahProductDescription string `json:"noah_product_description"`
	SauronAccessToken      string `json:"sauron_access_token"`
	EurekaApplicationID    string `json:"eureka_application_id"`
	GeokLocation           string `json:"geok_location"`
	PlusInviteURL          string `json:"plusInviteURL"`
	HothHost               string `json:"hoth_host"`
	PlaybackRequestRetries int    `json:"playback_request_retries"`
	BadgingConfig          []struct {
		Text  string `json:"text"`
		State string `json:"state"`
		Style string `json:"style"`
	} `json:"badging_config"`
	AdServer     string `json:"ad_server"`
	RtBeacon     string `json:"rt_beacon"`
	EndpointUrls struct {
		PlaylistV4              string `json:"playlist_v4"`
		PlaylistV5              string `json:"playlist_v5"`
		PlaylistV6              string `json:"playlist_v6"`
		UserStateV5             string `json:"user_state_v5"`
		WatchDownloadV1         string `json:"watch_download_v1"`
		DvrRecordingsV1         string `json:"dvr_recordings_v1"`
		UserV1                  string `json:"user_v1"`
		FlexActionV1            string `json:"flex_action_v1"`
		BrowseV5                string `json:"browse_v5"`
		UserBookmarksV1         string `json:"user_bookmarks_v1"`
		GuideV0                 string `json:"guide_v0"`
		UserTastesV5            string `json:"user_tastes_v5"`
		VortexV0                string `json:"vortex_v0"`
		ConvivaV0               string `json:"conviva_v0"`
		DvrRecordingSettingsV1  string `json:"dvr_recording_settings_v1"`
		DvrV1                   string `json:"dvr_v1"`
		ConfigV0                string `json:"config_v0"`
		EmuV0                   string `json:"emu_v0"`
		SauronV1                string `json:"sauron_v1"`
		PlaybackFeaturesV0      string `json:"playback_features_v0"`
		OfflinePlaylistV1       string `json:"offline_playlist_v1"`
		AuthV1                  string `json:"auth_v1"`
		AuthV2                  string `json:"auth_v2"`
		OnboardingV5            string `json:"onboarding_v5"`
		AuthAppleAuthnRequestV0 string `json:"auth_apple_authn_request_v0"`
		GlobalNavV1             string `json:"global_nav_v1"`
	} `json:"endpoint_urls"`
	IapGracefulDegradationEnabled bool   `json:"iap_graceful_degradation_enabled"`
	KeyExpiration                 int    `json:"key_expiration"`
	Beacon                        string `json:"beacon"`
	Key                           string `json:"key"`
	EurekaApplicationName         string `json:"eureka_application_name"`
	DeviceID                      int    `json:"device_id"`
	PackageIDFrontPorch           int    `json:"package_id_front_porch"`
	PlaybackFeaturesEndpoint      string `json:"playback_features_endpoint"`
	NoahSignupExceptionURL        string `json:"noah_signup_exception_url"`
	ExpirationNoticeHours         int    `json:"expiration_notice_hours"`
	ForgotPasswordURL             string `json:"forgotPasswordURL"`
	SauronEndpoint                string `json:"sauron_endpoint"`
	GlobalNavEndpoint             string `json:"global_nav_endpoint"`
	PassThroughMetric             string `json:"pass_through_metric"`
	BanyaSec                      string `json:"banya_sec"`
	Nydus                         string `json:"nydus"`
	Flags                         struct {
		HuluClientStandardPromptTheme  bool `json:"hulu-client-standard-prompt-theme"`
		HuluClientTwoFactorVerify      bool `json:"hulu-client-two-factor-verify"`
		HuluClientGatewayDeviceRanking bool `json:"hulu-client-gateway-device-ranking"`
		HuluWebDemoPlayerVersion       struct {
			HitchMobilePlaybackProdHuluCom string `json:"hitch-mobile-playback.prod.hulu.com"`
			CoviewingProdHuluCom           string `json:"coviewing.prod.hulu.com"`
			EndcardProdHuluCom             string `json:"endcard.prod.hulu.com"`
			LocalhostProdHuluCom           string `json:"localhost.prod.hulu.com"`
			OneplayerProdHuluCom           string `json:"oneplayer.prod.hulu.com"`
			DevelopProdHuluCom             string `json:"develop.prod.hulu.com"`
		} `json:"hulu-web-demo-player-version"`
		HuluWebChromecastSdkPlayerVersion struct {
			Player  string `json:"player"`
			Options struct {
				MultiKey   bool `json:"multi-key"`
				Hdr        bool `json:"hdr"`
				Touchstone bool `json:"touchstone"`
			} `json:"options"`
			Sdk string `json:"sdk"`
		} `json:"hulu-web-chromecast-sdk-player-version"`
		HuluClientRokuInstantSignupEnabled bool `json:"hulu-client-roku-instant-signup-enabled"`
		HuluClientEndCardFg1               bool `json:"hulu-client-end-card-fg1"`
		HuluClientPinProtectionEnabled     bool `json:"hulu-client-pin-protection-enabled"`
		HuluClientPerformanceTracking      bool `json:"hulu-client-performance-tracking"`
		HuluWebSmokeSitePlayerVersion      struct {
			Nonsub string `json:"nonsub"`
			Sub    string `json:"sub"`
		} `json:"hulu-web-smoke-site-player-version"`
		HuluWebSmokeChromecastSdkPlayerVersion struct {
			Player  string `json:"player"`
			Options struct {
				MultipleKey bool `json:"multiple-key"`
				MultiKey    bool `json:"multi-key"`
				Touchstone  bool `json:"touchstone"`
			} `json:"options"`
			Sdk string `json:"sdk"`
		} `json:"hulu-web-smoke-chromecast-sdk-player-version"`
		HuluClientNeverBlockSvodEnabled     bool `json:"hulu-client-never-block-svod-enabled"`
		HuluClientUpdatedLocationPrompt     bool `json:"hulu-client-updated-location-prompt"`
		HuluClientFlexWelcomeEnabled        bool `json:"hulu-client-flex-welcome-enabled"`
		HuluClientEventPurchaseEnabled      bool `json:"hulu-client-event-purchase-enabled"`
		HuluWebDevelopProdSitePlayerOptions struct {
			CreditEndCardDuration string `json:"credit_end_card_duration"`
			SkipButtonDuration    string `json:"skip_button_duration"`
			EnablePinchZoom       bool   `json:"enable_pinch_zoom"`
			EnabledAdobeAgent     bool   `json:"enabled_adobe_agent"`
			EnabledQueuedSeek     bool   `json:"enabled_queued_seek"`
		} `json:"hulu-web-develop-prod-site-player-options"`
		HuluClientExperienceBrandedPageThemeSupport string `json:"hulu-client-experience-branded-page-theme-support"`
		HuluClientSignupOnDeviceEnabled             bool   `json:"hulu-client-signup-on-device-enabled"`
		HuluClientNonNumericSeasons                 bool   `json:"hulu-client-non-numeric-seasons"`
		HuluClientFlexTimeoutsMs                    int    `json:"hulu-client-flex-timeouts-ms"`
		HuluClientDvrRecordingsGroups               bool   `json:"hulu-client-dvr-recordings-groups"`
		HuluClientPlayerBasicsFg1                   bool   `json:"hulu-client-player-basics-fg-1"`
		HuluClientEventPurchasePollingTimeout       int    `json:"hulu-client-event-purchase-polling-timeout"`
		HuluClientNewDvrFeatures                    bool   `json:"hulu-client-new-dvr-features"`
		HuluClientFeatureMultikey                   bool   `json:"hulu-client-feature-multikey"`
		HuluClientPostPurchaseCollectionID          int    `json:"hulu-client-post-purchase-collection-id"`
		HuluClientPlanSelectExtraCopy               struct {
			ShowExtraCopy bool `json:"showExtraCopy"`
		} `json:"hulu-client-plan-select-extra-copy"`
		HuluWebSmokeChromecastPlayerOptions struct {
			Touchstone bool `json:"touchstone"`
		} `json:"hulu-web-smoke-chromecast-player-options"`
		HuluClientCompassViewAllEnabled bool     `json:"hulu-client-compass-view-all-enabled"`
		HuluClientForcedDcsCapabilities []string `json:"hulu-client-forced-dcs-capabilities"`
		HuluWebSitePlayerOptions        struct {
			CreditEndCardDuration string `json:"credit_end_card_duration"`
			EnabledBrightline     bool   `json:"enabled_brightline"`
			EnabledAdobeAgent     bool   `json:"enabled_adobe_agent"`
			EnabledQueuedSeek     bool   `json:"enabled_queued_seek"`
		} `json:"hulu-web-site-player-options"`
		HuluClientInAppAccountManagementAddOnsEnabled bool `json:"hulu-client-in-app-account-management-add-ons-enabled"`
		HuluClientCompassEnabled                      bool `json:"hulu-client-compass-enabled"`
		HuluClientFeaturePxsSurveyEnabled             bool `json:"hulu-client-feature-pxs-survey-enabled"`
		HuluClientTrailheadBannerTheme                bool `json:"hulu-client-trailhead-banner-theme"`
		HuluClientAvMetadataBadgingEnabled            bool `json:"hulu-client-av-metadata-badging-enabled"`
		HuluClientIdleTimeMs                          int  `json:"hulu-client-idle-time-ms"`
		HuluWebDevelopProdSitePlayerVersion           struct {
			Nonsub string `json:"nonsub"`
			Sub    string `json:"sub"`
		} `json:"hulu-web-develop-prod-site-player-version"`
		HuluClientPlayerProgressReportInterval                     int  `json:"hulu-client-player-progress-report-interval"`
		HuluClientDeviceTokenLoggingEnabled                        bool `json:"hulu-client-device-token-logging-enabled"`
		HuluClientInAppAccountManagementEnabled                    bool `json:"hulu-client-in-app-account-management-enabled"`
		HuluClientEventPurchaseIdentityVerificationPollingInterval int  `json:"hulu-client-event-purchase-identity-verification-polling-interval"`
		HuluClientCheckProgramRecordability                        bool `json:"hulu-client-check-program-recordability"`
		HuluClientAutoAccountLinkEnabled                           bool `json:"hulu-client-auto-account-link-enabled"`
		HuluWebSmokeSitePlayerOptions                              struct {
			CreditEndCardDuration string `json:"credit_end_card_duration"`
			EnabledAdobeAgent     bool   `json:"enabled_adobe_agent"`
			EnabledQueuedSeek     bool   `json:"enabled_queued_seek"`
		} `json:"hulu-web-smoke-site-player-options"`
		HuluClientFliptray2              bool `json:"hulu-client-fliptray-2"`
		HuluClientOneplayer              bool `json:"hulu-client-oneplayer"`
		HuluClientFeaturePxsSurveyConfig struct {
			PxsShowPercentage     float64 `json:"pxs_show_percentage"`
			PxsAutoDismissSeconds int     `json:"pxs_auto_dismiss_seconds"`
			PxsShowFrequencyDays  int     `json:"pxs_show_frequency_days"`
		} `json:"hulu-client-feature-pxs-survey-config"`
		HuluWebBrowseFlags struct {
			EditorialActionsEnabled    bool   `json:"editorialActionsEnabled"`
			ContextMenuActionV2Enabled bool   `json:"contextMenuActionV2Enabled"`
			VideoTileEnabled           bool   `json:"videoTileEnabled"`
			EnableWebp                 bool   `json:"enableWebp"`
			VariationName              string `json:"variationName"`
		} `json:"hulu-web-browse-flags"`
		HuluClientDetailsCastAndCrew       bool `json:"hulu-client-details-cast-and-crew"`
		HuluClientPlanSelectChartEnabled   bool `json:"hulu-client-plan-select-chart-enabled"`
		HuluClientEndpointURLConfiguration bool `json:"hulu-client-endpoint-url-configuration"`
		HuluClientDvrMsbd                  bool `json:"hulu-client-dvr-msbd"`
		HuluClientMyStuffDecoupled         bool `json:"hulu-client-my-stuff-decoupled"`
		HuluWebSitePlayerVersion           struct {
			Nonsub string `json:"nonsub"`
			Sub    string `json:"sub"`
		} `json:"hulu-web-site-player-version"`
		HuluClientTealiumEventsEnabled bool `json:"hulu-client-tealium-events-enabled"`
		HuluWebChromecastPlayerOptions struct {
			OverrideAdUnits string `json:"overrideAdUnits"`
			Touchstone      bool   `json:"touchstone"`
		} `json:"hulu-web-chromecast-player-options"`
		HuluClientEventPurchasePollingBaseInterval int    `json:"hulu-client-event-purchase-polling-base-interval"`
		HuluClientBrandedCollections               bool   `json:"hulu-client-branded-collections"`
		HuluClientSignupOnWebEnabled               bool   `json:"hulu-client-signup-on-web-enabled"`
		HuluClientCompassSitemapEnabled            bool   `json:"hulu-client-compass-sitemap-enabled"`
		HuluClientAdobeMetrics                     bool   `json:"hulu-client-adobe-metrics"`
		HuluClientGatewayAdLegalDisclaimer         string `json:"hulu-client-gateway-ad-legal-disclaimer"`
		HuluClientFeatureChannelFlipping           bool   `json:"hulu-client-feature-channel-flipping"`
		HuluClientFeaturePlaybackCdnSorting        bool   `json:"hulu-client-feature-playback-cdn-sorting"`
		HuluClientLoginMfa                         bool   `json:"hulu-client-login-mfa"`
		HuluClientLinksharingAppsflyer             bool   `json:"hulu-client-linksharing-appsflyer"`
		HuluClientFeatureHdr                       bool   `json:"hulu-client-feature-hdr"`
	} `json:"flags"`
	NoahProductTitle    string `json:"noah_product_title"`
	CriterionCollection int    `json:"criterion_collection"`
	KeyID               int    `json:"key_id"`
}

type PlaybackInformation

type PlaybackInformation struct {
	Type   string `json:"_type"`
	Browse struct {
		TargetType  string `json:"target_type"`
		TargetID    string `json:"target_id"`
		TargetTheme string `json:"target_theme"`
		Params      struct {
		} `json:"params"`
		Type string `json:"type"`
	} `json:"browse"`
	EabID            string `json:"eab_id"`
	Href             string `json:"href"`
	ID               string `json:"id"`
	HrefType         string `json:"href_type"`
	RestrictionLevel string `json:"restriction_level"`
}

type Playlist

type Playlist struct {
	UseManifestBreaks bool          `json:"use_manifest_breaks"`
	Adstate           string        `json:"adstate"`
	Breaks            []interface{} `json:"breaks"`
	ContentEabID      string        `json:"content_eab_id"`
	TranscriptsUrls   struct {
		Smi struct {
			En string `json:"en"`
		} `json:"smi"`
		Webvtt struct {
			En string `json:"en"`
		} `json:"webvtt"`
		Ttml struct {
			En string `json:"en"`
		} `json:"ttml"`
	} `json:"transcripts_urls"`
	TranscriptsEncryptionKey string `json:"transcripts_encryption_key"`
	VideoMetadata            struct {
		AspectRatio          string      `json:"aspect_ratio"`
		EndCreditsTime       string      `json:"end_credits_time"`
		FrameRate            int         `json:"frame_rate"`
		HasBug               string      `json:"has_bug"`
		HasCaptions          bool        `json:"has_captions"`
		HasNetworkPreRoll    bool        `json:"has_network_pre_roll"`
		Interstitials        string      `json:"interstitials"`
		Language             string      `json:"language"`
		Length               int         `json:"length"`
		Segments             string      `json:"segments"`
		ID                   int         `json:"id"`
		AssetID              int         `json:"asset_id"`
		Markers              interface{} `json:"markers"`
		TranscriptsDefaultOn bool        `json:"transcripts_default_on"`
		RatingBugBig         string      `json:"rating_bug_big"`
		RatingBugSmall       string      `json:"rating_bug_small"`
	} `json:"video_metadata"`
	TranscriptsEncryptionIv string `json:"transcripts_encryption_iv"`
	Breakhash               string `json:"breakhash"`
	AdBreakTimes            []int  `json:"ad_break_times"`
	TranscriptsDefaultOn    bool   `json:"transcripts_default_on"`
	ResumePosition          int    `json:"resume_position"`
	RecordingOffset         int    `json:"recording_offset"`
	InitialPosition         int    `json:"initial_position"`
	DashPrServer            string `json:"dash_pr_server"`
	WvServer                string `json:"wv_server"`
	AudioTracks             []struct {
		Language     string `json:"language"`
		Role         string `json:"role"`
		CodecsString string `json:"codecs_string"`
		Channels     int    `json:"channels"`
	} `json:"audio_tracks"`
	MbrManifest       string `json:"mbr_manifest"`
	StreamURL         string `json:"stream_url"`
	ThumbnailEndpoint string `json:"thumbnail_endpoint"`
	AssetPlaybackType string `json:"asset_playback_type"`
	SauronID          string `json:"sauron_id"`
	ViewTTLMillis     int    `json:"view_ttl_millis"`
	SauronToken       string `json:"sauron_token"`
	SauronTokenTTL    int    `json:"sauron_token_ttl"`
	SauronTokenTTLMs  int    `json:"sauron_token_ttl_ms"`
}

type PlaylistRequest

type PlaylistRequest struct {
	DeviceIdentifier       string                  `json:"device_identifier"`
	DeejayDeviceID         int                     `json:"deejay_device_id"`
	Version                int                     `json:"version"`
	AllCdn                 bool                    `json:"all_cdn"`
	ContentEabID           string                  `json:"content_eab_id"`
	Region                 string                  `json:"region"`
	XlinkSupport           bool                    `json:"xlink_support"`
	DeviceAdID             string                  `json:"device_ad_id"`
	LimitAdTracking        bool                    `json:"limit_ad_tracking"`
	IgnoreKidsBlock        bool                    `json:"ignore_kids_block"`
	Language               string                  `json:"language"`
	GUID                   string                  `json:"guid"`
	Rv                     int                     `json:"rv"`
	Kv                     int                     `json:"kv"`
	Unencrypted            bool                    `json:"unencrypted"`
	IncludeT2RevenueBeacon string                  `json:"include_t2_revenue_beacon"`
	CpSessionID            string                  `json:"cp_session_id"`
	InterfaceVersion       string                  `json:"interface_version"`
	NetworkMode            string                  `json:"network_mode"`
	PlayIntent             string                  `json:"play_intent"`
	Playback               PlaylistRequestPlayback `json:"playback"`
}

type PlaylistRequestAudio

type PlaylistRequestAudio struct {
	Codecs PlaylistRequestCodecs `json:"codecs"`
}

type PlaylistRequestCodecs

type PlaylistRequestCodecs struct {
	Values        []PlaylistRequestValues `json:"values"`
	SelectionMode string                  `json:"selection_mode"`
}

type PlaylistRequestDRM

type PlaylistRequestDRM struct {
	Values        []PlaylistRequestValues `json:"values"`
	SelectionMode string                  `json:"selection_mode"`
}

type PlaylistRequestEncryption

type PlaylistRequestEncryption struct {
	Mode string `json:"mode"`
	Type string `json:"type"`
}

type PlaylistRequestManifest

type PlaylistRequestManifest struct {
	Type              string `json:"type"`
	HTTPS             bool   `json:"https"`
	MultipleCdns      bool   `json:"multiple_cdns"`
	PatchUpdates      bool   `json:"patch_updates"`
	HuluTypes         bool   `json:"hulu_types"`
	LiveDai           bool   `json:"live_dai"`
	MultiplePeriods   bool   `json:"multiple_periods"`
	Xlink             bool   `json:"xlink"`
	SecondaryAudio    bool   `json:"secondary_audio"`
	LiveFragmentDelay int    `json:"live_fragment_delay"`
}

type PlaylistRequestPlayback

type PlaylistRequestPlayback struct {
	Version  int                     `json:"version"`
	Video    PlaylistRequestVideo    `json:"video"`
	Audio    PlaylistRequestAudio    `json:"audio"`
	DRM      PlaylistRequestDRM      `json:"drm"`
	Manifest PlaylistRequestManifest `json:"manifest"`
	Segments PlaylistRequestSegments `json:"segments"`
}

type PlaylistRequestSegments

type PlaylistRequestSegments struct {
	Values        []PlaylistRequestValues `json:"values"`
	SelectionMode string                  `json:"selection_mode"`
}

type PlaylistRequestValues

type PlaylistRequestValues struct {
	Type          string                     `json:"type,omitempty"`
	Profile       string                     `json:"profile,omitempty"`
	Level         string                     `json:"level,omitempty"`
	Framerate     int                        `json:"framerate,omitempty"`
	Version       string                     `json:"version,omitempty"`
	SecurityLevel string                     `json:"security_level,omitempty"`
	Encryption    *PlaylistRequestEncryption `json:"encryption,omitempty"`
	HTTPS         bool                       `json:"https,omitempty"`
}

type PlaylistRequestVideo

type PlaylistRequestVideo struct {
	Codecs PlaylistRequestCodecs `json:"codecs"`
}

type SearchResults

type SearchResults struct {
	Groups []struct {
		Category string `json:"category"`
		Results  []struct {
			Type        string `json:"_type"`
			MetricsInfo struct {
				TargetID            string `json:"target_id"`
				TargetType          string `json:"target_type"`
				TargetName          string `json:"target_name"`
				SelectionTrackingID string `json:"selection_tracking_id"`
			} `json:"metrics_info"`
			Personalization struct {
				BowieContext string `json:"bowie_context"`
				Eab          string `json:"eab"`
			} `json:"personalization"`
			DeviceContextFailure bool   `json:"device_context_failure"`
			ViewTemplate         string `json:"view_template"`
			Visuals              struct {
				Artwork struct {
					Type       string `json:"_type"`
					Horizontal struct {
						Type        string `json:"_type"`
						ArtworkType string `json:"artwork_type"`
						Image       struct {
							Path   string `json:"path"`
							Accent struct {
								Hue            int    `json:"hue"`
								Classification string `json:"classification"`
							} `json:"accent"`
							ImageID string `json:"image_id"`
						} `json:"image"`
						Text string `json:"text"`
					} `json:"horizontal"`
				} `json:"artwork"`
				Headline struct {
					Text  string  `json:"text"`
					Index [][]int `json:"index"`
				} `json:"headline"`
				Body struct {
					Text  string  `json:"text"`
					Index [][]int `json:"index"`
				} `json:"body"`
				ActionText      string `json:"action_text"`
				PrimaryBranding struct {
					ID      string `json:"id"`
					Name    string `json:"name"`
					Artwork struct {
						BrandWatermarkBottomRight struct {
							Path   string `json:"path"`
							Accent struct {
								Hue            int    `json:"hue"`
								Classification string `json:"classification"`
							} `json:"accent"`
							ImageType string `json:"image_type"`
							ImageID   string `json:"image_id"`
						} `json:"brand.watermark.bottom.right"`
						BrandLogoBottomRight struct {
							Path   string `json:"path"`
							Accent struct {
								Hue            int    `json:"hue"`
								Classification string `json:"classification"`
							} `json:"accent"`
							ImageType string `json:"image_type"`
							ImageID   string `json:"image_id"`
						} `json:"brand.logo.bottom.right"`
					} `json:"artwork"`
				} `json:"primary_branding"`
				ShortSubtitle struct {
					Text  string        `json:"text"`
					Index []interface{} `json:"index"`
				} `json:"short_subtitle"`
			} `json:"visuals"`
			Actions struct {
				Browse struct {
					TargetType  string `json:"target_type"`
					TargetID    string `json:"target_id"`
					TargetName  string `json:"target_name"`
					TargetTheme string `json:"target_theme"`
					Params      struct {
					} `json:"params"`
					Href        string `json:"href"`
					BrowseTheme string `json:"browse_theme"`
					MetricsInfo struct {
						ActionType        string `json:"action_type"`
						TargetID          string `json:"target_id"`
						TargetType        string `json:"target_type"`
						TargetDisplayName string `json:"target_display_name"`
					} `json:"metrics_info"`
					Type string `json:"type"`
				} `json:"browse"`
				ContextMenu struct {
					Actions []struct {
						ActionType  string `json:"action_type"`
						EntityName  string `json:"entity_name"`
						EntityType  string `json:"entity_type"`
						MetricsInfo struct {
							TargetID          string `json:"target_id"`
							TargetType        string `json:"target_type"`
							TargetDisplayName string `json:"target_display_name"`
							Eab               string `json:"eab"`
							Type              string `json:"_type"`
						} `json:"metrics_info"`
						Eab string `json:"eab"`
					} `json:"actions"`
					Header struct {
						Title   string `json:"title"`
						Artwork struct {
							Type       string `json:"_type"`
							Horizontal struct {
								Type        string `json:"_type"`
								ArtworkType string `json:"artwork_type"`
								Image       struct {
									Path   string `json:"path"`
									Accent struct {
										Hue            int    `json:"hue"`
										Classification string `json:"classification"`
									} `json:"accent"`
									ImageID string `json:"image_id"`
								} `json:"image"`
								Text string `json:"text"`
							} `json:"horizontal"`
							Vertical struct {
								Type        string `json:"_type"`
								ArtworkType string `json:"artwork_type"`
								Text        string `json:"text"`
							} `json:"vertical"`
						} `json:"artwork"`
						PrimaryBranding struct {
							ID      string `json:"id"`
							Name    string `json:"name"`
							Artwork struct {
								BrandWatermarkBottomRight struct {
									Path   string `json:"path"`
									Accent struct {
										Hue            int    `json:"hue"`
										Classification string `json:"classification"`
									} `json:"accent"`
									ImageType string `json:"image_type"`
									ImageID   string `json:"image_id"`
								} `json:"brand.watermark.bottom.right"`
								BrandLogoBottomRight struct {
									Path   string `json:"path"`
									Accent struct {
										Hue            int    `json:"hue"`
										Classification string `json:"classification"`
									} `json:"accent"`
									ImageType string `json:"image_type"`
									ImageID   string `json:"image_id"`
								} `json:"brand.logo.bottom.right"`
							} `json:"artwork"`
						} `json:"primary_branding"`
						Action struct {
							ActionType  string `json:"action_type"`
							EntityName  string `json:"entity_name"`
							EntityType  string `json:"entity_type"`
							MetricsInfo struct {
								TargetID          string `json:"target_id"`
								TargetType        string `json:"target_type"`
								TargetDisplayName string `json:"target_display_name"`
								Eab               string `json:"eab"`
								Type              string `json:"_type"`
							} `json:"metrics_info"`
							Browse struct {
								TargetType  string `json:"target_type"`
								TargetID    string `json:"target_id"`
								TargetTheme string `json:"target_theme"`
								Params      struct {
								} `json:"params"`
								Type string `json:"type"`
							} `json:"browse"`
							TargetName string `json:"target_name"`
							Href       string `json:"href"`
						} `json:"action"`
					} `json:"header"`
				} `json:"context_menu"`
			} `json:"actions"`
			EntityMetadata struct {
				GenreNames   []string  `json:"genre_names"`
				PremiereDate time.Time `json:"premiere_date"`
				Rating       struct {
					Code string `json:"code"`
				} `json:"rating"`
				TargetName string `json:"target_name"`
				IsWarm     bool   `json:"is_warm"`
			} `json:"entity_metadata"`
		} `json:"results"`
	} `json:"groups"`
	Metadata struct {
		SearchResultType    string `json:"search_result_type"`
		Explanation         string `json:"explanation"`
		SelectionTrackingID string `json:"selection_tracking_id"`
	} `json:"metadata"`
	DeviceContextFailure bool `json:"device_context_failure"`
}

type Season

type Season struct {
	Type     string `json:"_type"`
	ID       string `json:"id"`
	Href     string `json:"href"`
	P13NHref string `json:"p13n_href"`
	Name     string `json:"name"`
	Theme    string `json:"theme"`
	Artwork  struct {
	} `json:"artwork"`
	DeviceContextFailure bool `json:"device_context_failure"`
	Items                []struct {
		Type        string `json:"_type"`
		ID          string `json:"id"`
		Href        string `json:"href"`
		Name        string `json:"name"`
		Description string `json:"description"`
		Artwork     struct {
			VideoHorizontalHero struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"video.horizontal.hero"`
		} `json:"artwork"`
		MetricsInfo struct {
			Type                string `json:"_type"`
			MetricsAssetName    string `json:"metrics_asset_name"`
			AiringType          string `json:"airing_type"`
			ExternalIdentifiers []struct {
				Namespace string `json:"namespace"`
				ID        string `json:"id"`
			} `json:"external_identifiers"`
		} `json:"metrics_info"`
		Personalization struct {
			Eab string `json:"eab"`
		} `json:"personalization"`
		DeviceContextFailure bool `json:"device_context_failure"`
		Browse               struct {
			TargetType  string `json:"target_type"`
			TargetID    string `json:"target_id"`
			TargetTheme string `json:"target_theme"`
			Params      struct {
			} `json:"params"`
			Href        string `json:"href"`
			BrowseTheme string `json:"browse_theme"`
			Type        string `json:"type"`
		} `json:"browse"`
		SeriesID               string `json:"series_id"`
		SeriesName             string `json:"series_name"`
		Season                 string `json:"season"`
		SeasonShortDisplayName string `json:"season_short_display_name"`
		Bundle                 struct {
			Type         string `json:"_type"`
			ID           int    `json:"id"`
			EabID        string `json:"eab_id"`
			NetworkID    string `json:"network_id"`
			NetworkName  string `json:"network_name"`
			Duration     int    `json:"duration"`
			Availability struct {
				Type                string    `json:"_type"`
				StartDate           time.Time `json:"start_date"`
				EndDate             time.Time `json:"end_date"`
				LocationRequirement string    `json:"location_requirement"`
				IsAvailable         bool      `json:"is_available"`
			} `json:"availability"`
			BundleType          string `json:"bundle_type"`
			Rating              string `json:"rating"`
			OpenCreditEndPos    int    `json:"open_credit_end_pos"`
			CloseCreditStartPos int    `json:"close_credit_start_pos"`
			Rights              struct {
				Startover      bool `json:"startover"`
				Recordable     bool `json:"recordable"`
				Offline        bool `json:"offline"`
				ClientOverride bool `json:"client_override"`
			} `json:"rights"`
			CpID        int      `json:"cp_id"`
			AllEtag     string   `json:"all_etag"`
			RightsEtag  string   `json:"rights_etag"`
			AiringsEtag string   `json:"airings_etag"`
			StreamEtag  string   `json:"stream_etag"`
			RightsTTL   int      `json:"rights_ttl"`
			AiringsTTL  int      `json:"airings_ttl"`
			StreamTTL   int      `json:"stream_ttl"`
			PackageID   int      `json:"package_id"`
			AvFeatures  []string `json:"av_features"`
		} `json:"bundle"`
		Number          string `json:"number"`
		PrimaryBranding struct {
			ID      string `json:"id"`
			Name    string `json:"name"`
			Artwork struct {
				BrandWatermark struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.watermark"`
				BrandWatermarkDark struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.watermark.dark"`
				BrandWatermarkTopRight struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.watermark.top.right"`
				BrandLogo struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.logo"`
				NetworkTile struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"network.tile"`
				BrandWatermarkBottomRight struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.watermark.bottom.right"`
				BrandLogoTopRight struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.logo.top.right"`
				BrandLogoBottomRight struct {
					Path   string `json:"path"`
					Accent struct {
						Hue            int    `json:"hue"`
						Classification string `json:"classification"`
					} `json:"accent"`
					ImageType string `json:"image_type"`
					ImageID   string `json:"image_id"`
				} `json:"brand.logo.bottom.right"`
			} `json:"artwork"`
		} `json:"primary_branding"`
		Rating struct {
			Code string `json:"code"`
		} `json:"rating"`
		GenreNames    []string  `json:"genre_names"`
		PremiereDate  time.Time `json:"premiere_date"`
		Duration      int       `json:"duration"`
		IsFirstRun    bool      `json:"is_first_run"`
		SeriesArtwork struct {
			DetailVerticalHero struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"detail.vertical.hero"`
			TitleTreatmentHorizontal struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"title.treatment.horizontal"`
			ProgramTile struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"program.tile"`
			ProgramVerticalTile struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"program.vertical.tile"`
			TitleTreatmentStacked struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"title.treatment.stacked"`
			DetailHorizontalHero struct {
				Path   string `json:"path"`
				Accent struct {
					Hue            int    `json:"hue"`
					Classification string `json:"classification"`
				} `json:"accent"`
				ImageType string `json:"image_type"`
				ImageID   string `json:"image_id"`
			} `json:"detail.horizontal.hero"`
		} `json:"series_artwork"`
		RestrictionLevel string        `json:"restriction_level"`
		Exclusivity      string        `json:"exclusivity"`
		Actions          []interface{} `json:"actions"`
	} `json:"items"`
	Pagination struct {
		CurrentOffset int `json:"current_offset"`
		TotalCount    int `json:"total_count"`
	} `json:"pagination"`
	SeriesGroupingMetadata struct {
		SeriesGroupingType string `json:"series_grouping_type"`
		SeasonNumber       int    `json:"season_number"`
		GroupingName       string `json:"groupingName"`
		Unknown            bool   `json:"unknown"`
	} `json:"series_grouping_metadata"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL