Baseflow / Baseflow/flutter_cache_manager

[Bug] Getting "HttpException: Invalid statusCode: 403" error

Abierto
#366 3 comentarios 2 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Dart
Estrellas
809
Forks
510
Merge medio
6 min
PR fusionados (30 d)
1

Descripción

## 🐛 Bug Report - Getting "HttpException: Invalid statusCode: 403" error

### Expected behavior
- I am trying to cache a video file from an open https url:
- - [https://cdn-animation.artstation.com/p/video_sources/000/629/776/shield-05-video.mp4]()
- **The error:** `HttpException: Invalid statusCode: 403`
- As far as I know, no headers are needed for that url.
- The file size is 13.4 MB.
- I will then use that cached file for playing videos from URLs.
- Actually, I am already doing that and it works as expected for this video url:
- - [https://flutter.github.io/assets-for-api-docs/assets/videos/butterfly.mp4]()
- **Important:** Even though I can't cache the video from the 1st url I provided, the Video Player plugin can successfully play it. So the url is working indeed.

### The code is long but here are the important part.
```dart
FileInfo? _fileInfo;
DefaultCacheManager _cacheManager = DefaultCacheManager();

_fileInfo = await _cacheManager.downloadFile(videoUrl, force: true);
// Also tried with --> force: false
// I use *await* but I know it is optional, in my case I need that.

if (_fileInfo == null) {
videoPlayerController = VideoPlayerController.network(videoUrl);
// When the file cannot be cached, the video is played from .network()
} else {
videoPlayerController = VideoPlayerController.file(_fileInfo.file);
// When the file is cached, the video is played from .file()
}
```

### I have also tried adding the key for allowing arbitrary loads on iOS --> NSAllowsArbitraryLoads
```
NSAppTransportSecurity

NSAllowsArbitraryLoads

```

### Version:
**flutter:** `2.10.1`
**flutter_cache_manager:** `^3.3.0`

### Platform:
- iOS (both device and simulator) - (tried on different iPhones) - (tried on release - debug modes)

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

No repository file or test is named. Start with the downloadFile call in the report and trace how the cache manager handles the provided ArtStation URL's HTTP response, then compare it with the Flutter sample video URL on iOS. Done means reproducing the 403 behavior and establishing the appropriate cache-manager behavior for that response.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
dart, flutter
Área
mobile-dev, networking
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
30/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.