import 'package:flutter/painting.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart'; /// Cache manager that attaches ComicLand CDN Referer/Origin headers. class HeaderCacheManager extends CacheManager { HeaderCacheManager(this.headers) : super( Config( 'cxyzHeaderCache', fileService: _HeaderHttpFileService(headers), ), ); final Map headers; } class _HeaderHttpFileService extends HttpFileService { _HeaderHttpFileService(this.headers); final Map headers; @override Future get(String url, {Map? headers}) { final merged = {...this.headers, ...?headers}; return super.get(url, headers: merged); } } ImageProvider headerNetworkImage(String url, Map headers) { return NetworkImage(url, headers: headers); }