refactor: make allanime base url configurable
This commit is contained in:
@@ -26,6 +26,7 @@ type AllAnimeProvider struct {
|
|||||||
httpClient *http.Client
|
httpClient *http.Client
|
||||||
utlsClient *http.Client
|
utlsClient *http.Client
|
||||||
extractor *providerExtractor
|
extractor *providerExtractor
|
||||||
|
baseURL string
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewAllAnimeProvider() *AllAnimeProvider {
|
func NewAllAnimeProvider() *AllAnimeProvider {
|
||||||
@@ -38,6 +39,7 @@ func NewAllAnimeProvider() *AllAnimeProvider {
|
|||||||
Timeout: 30 * time.Second,
|
Timeout: 30 * time.Second,
|
||||||
},
|
},
|
||||||
extractor: newProviderExtractor(),
|
extractor: newProviderExtractor(),
|
||||||
|
baseURL: allAnimeBaseURL,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,6 +47,13 @@ func (c *AllAnimeProvider) Name() string {
|
|||||||
return "AllAnime"
|
return "AllAnime"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *AllAnimeProvider) apiBaseURL() string {
|
||||||
|
if c.baseURL != "" {
|
||||||
|
return c.baseURL
|
||||||
|
}
|
||||||
|
return allAnimeBaseURL
|
||||||
|
}
|
||||||
|
|
||||||
func (c *AllAnimeProvider) GetStreams(ctx context.Context, animeID int, titleCandidates []string, episode string, mode string) (*domain.StreamResult, error) {
|
func (c *AllAnimeProvider) GetStreams(ctx context.Context, animeID int, titleCandidates []string, episode string, mode string) (*domain.StreamResult, error) {
|
||||||
showID := c.showID(ctx, animeID, titleCandidates, mode)
|
showID := c.showID(ctx, animeID, titleCandidates, mode)
|
||||||
if showID == "" {
|
if showID == "" {
|
||||||
@@ -89,7 +98,7 @@ func (c *AllAnimeProvider) graphqlRequest(ctx context.Context, query string, var
|
|||||||
return nil, fmt.Errorf("marshal graphql payload: %w", err)
|
return nil, fmt.Errorf("marshal graphql payload: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err := http.NewRequestWithContext(ctx, http.MethodPost, allAnimeBaseURL+"/api", bytes.NewReader(body))
|
req, err := http.NewRequestWithContext(ctx, http.MethodPost, c.apiBaseURL()+"/api", bytes.NewReader(body))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("create graphql request: %w", err)
|
return nil, fmt.Errorf("create graphql request: %w", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -68,7 +68,7 @@ func (c *AllAnimeProvider) Search(ctx context.Context, query string, mode string
|
|||||||
TranslationType: mode,
|
TranslationType: mode,
|
||||||
}
|
}
|
||||||
|
|
||||||
data, err := graphql.Post[searchData](ctx, c.httpClient, allAnimeBaseURL+"/api", searchQuery, vars, graphql.PostOptions{
|
data, err := graphql.Post[searchData](ctx, c.httpClient, c.apiBaseURL()+"/api", searchQuery, vars, graphql.PostOptions{
|
||||||
Headers: map[string]string{
|
Headers: map[string]string{
|
||||||
"Referer": allAnimeReferer,
|
"Referer": allAnimeReferer,
|
||||||
"User-Agent": defaultUserAgent,
|
"User-Agent": defaultUserAgent,
|
||||||
|
|||||||
Reference in New Issue
Block a user