diff --git a/README.md b/README.md index 958d9892..02c1c600 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # angel_static -[![version 1.1.4](https://img.shields.io/badge/pub-1.1.4-brightgreen.svg)](https://pub.dartlang.org/packages/angel_static) +[![version 1.1.4+1](https://img.shields.io/badge/pub-1.1.4+1-brightgreen.svg)](https://pub.dartlang.org/packages/angel_static) [![build status](https://travis-ci.org/angel-dart/static.svg?branch=master)](https://travis-ci.org/angel-dart/static) Static server middleware for Angel. diff --git a/lib/src/virtual_directory.dart b/lib/src/virtual_directory.dart index 22d3a0cd..f1e717b4 100644 --- a/lib/src/virtual_directory.dart +++ b/lib/src/virtual_directory.dart @@ -122,9 +122,15 @@ class VirtualDirectory implements AngelPlugin { res.headers[HttpHeaders.CONTENT_TYPE] = lookupMimeType(file.path); - if (streamToIO == true) - await res.streamFile(file); - else + if (streamToIO == true) { + res + ..io.headers.set(HttpHeaders.CONTENT_TYPE, lookupMimeType(file.path)) + ..io.headers.set(HttpHeaders.CONTENT_ENCODING, 'gzip') + ..end() + ..willCloseItself = true; + + await file.openRead().transform(GZIP.encoder).pipe(res.io); + } else await res.sendFile(file); return false; } diff --git a/pubspec.yaml b/pubspec.yaml index 6f19d2c0..6805d32d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -4,7 +4,7 @@ environment: sdk: ">=1.19.0" homepage: https://github.com/angel-dart/angel_static author: thosakwe -version: 1.1.4 +version: 1.1.4+1 dependencies: angel_framework: ^1.0.0-dev intl: ">=0.0.0 <1.0.0"