fix: resolve allanime timeout issues

This commit is contained in:
2026-05-02 13:50:28 +02:00
committed by Mikkel Elvers
parent 2e78713803
commit 33b450a686
3 changed files with 29 additions and 13 deletions

View File

@@ -98,7 +98,7 @@ func (rt *utlsRoundTripper) RoundTrip(req *http.Request) (*http.Response, error)
var allAnimeUTLSClient = &http.Client{
Transport: &utlsRoundTripper{},
Timeout: 15 * time.Second,
Timeout: 30 * time.Second,
}
type searchResult struct {
@@ -115,7 +115,7 @@ type allAnimeClient struct {
func newAllAnimeClient() *allAnimeClient {
return &allAnimeClient{
httpClient: &http.Client{
Timeout: 12 * time.Second,
Timeout: 30 * time.Second,
},
extractor: newProviderExtractor(),
}
@@ -305,7 +305,7 @@ func min(a, b int) int {
return b
}
func (c *allAnimeClient) extractSourceURLsFromData(data map[string]any) []StreamSource {
func (c *allAnimeClient) extractSourceURLsFromData(ctx context.Context, data map[string]any) []StreamSource {
episodeData, ok := data["episode"].(map[string]any)
if !ok {
return nil
@@ -357,9 +357,6 @@ func (c *allAnimeClient) extractSourceURLsFromData(data map[string]any) []Stream
decoded = "/" + decoded
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
extracted, err := c.extractor.ExtractVideoLinks(ctx, decoded)
if err != nil {
log.Printf("source extraction failed for %s: %v", decoded, err)
@@ -510,7 +507,7 @@ func (c *allAnimeClient) GetEpisodeSources(ctx context.Context, showID string, e
result, err := c.graphqlRequestWithHash(ctx, showID, episode, mode)
if err == nil {
// Result is already in shape {"episode": {"sourceUrls": [...]}}
sources := c.extractSourceURLsFromData(result)
sources := c.extractSourceURLsFromData(ctx, result)
if len(sources) > 0 {
return sources, nil
}