From fcd97ff08cdc8f02be1bc2c943a6987251989a17 Mon Sep 17 00:00:00 2001 From: Tommy Parnell Date: Mon, 20 Jun 2016 11:35:12 -0400 Subject: [PATCH] compress only if content exists --- gulpfile.js | 2 +- src/CompressR.WebApi/CompressAttribute.cs | 11 +++++++++-- src/CompressR.WebApi/DeflateAttribute.cs | 8 ++++++++ src/CompressR.WebApi/GzipAttribute.cs | 8 ++++++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index 4267866..1bde790 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -48,5 +48,5 @@ gulp.task('pack', ['build'], ()=>{ gulp.task('publish', ['pack'], ()=>{ return gulp.src('./nupkgs/*.nupkg') - .pipe(nuget.push({ nuget: "nuget.exe", source: 'https://www.nuget.org/api/v2/package', apiKey: '9d1cc8fb-2c00-47cc-93ff-153a8871052d'})); + .pipe(nuget.push({ nuget: "nuget.exe", source: 'https://www.nuget.org/api/v2/package', apiKey: process.env.nugetApiKey})); }); \ No newline at end of file diff --git a/src/CompressR.WebApi/CompressAttribute.cs b/src/CompressR.WebApi/CompressAttribute.cs index 2942db3..e996064 100644 --- a/src/CompressR.WebApi/CompressAttribute.cs +++ b/src/CompressR.WebApi/CompressAttribute.cs @@ -24,6 +24,10 @@ namespace CompressR.WebApi public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage @@ -45,12 +49,15 @@ namespace CompressR.WebApi } } - actionExecutedContext.Response.Content = new CompressedContent(actionExecutedContext.Response.Content, acceptedEncoding); } public override async Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage @@ -64,7 +71,7 @@ namespace CompressR.WebApi { return; } - + actionExecutedContext.Response.Content = new CompressedContent(actionExecutedContext.Response.Content, acceptedEncoding); } } diff --git a/src/CompressR.WebApi/DeflateAttribute.cs b/src/CompressR.WebApi/DeflateAttribute.cs index a6a8212..87274c9 100644 --- a/src/CompressR.WebApi/DeflateAttribute.cs +++ b/src/CompressR.WebApi/DeflateAttribute.cs @@ -23,6 +23,10 @@ namespace CompressR.WebApi public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage @@ -40,6 +44,10 @@ namespace CompressR.WebApi public override async Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage diff --git a/src/CompressR.WebApi/GzipAttribute.cs b/src/CompressR.WebApi/GzipAttribute.cs index 8d81dc7..deec613 100644 --- a/src/CompressR.WebApi/GzipAttribute.cs +++ b/src/CompressR.WebApi/GzipAttribute.cs @@ -22,6 +22,10 @@ namespace CompressR.WebApi public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage @@ -39,6 +43,10 @@ namespace CompressR.WebApi public override async Task OnActionExecutedAsync(HttpActionExecutedContext actionExecutedContext, CancellationToken cancellationToken) { + if(actionExecutedContext.Response.Content == null) + { + return; + } var acceptedEncoding = actionExecutedContext .Response .RequestMessage