Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to return gzipped content with AWS API Gateway

We have developed an application that offers serveral rest services and supports Accept-Encoding header to return compressed content through Content-Encoding:gzip header value.

This application is deployed on ec2 instances on aws and when we send a request with Accept-Encoding value set the response is correctly built.

We want to expose this api by using api gateway but it is just working for not compressing requests. When we send a request asking for gzipped content the Content-Encoding header is set correctly but the response content is corrupt.

Do we have to set some special parameter or configuration in integration response or method response steps?

Regards.

like image 426
althor Avatar asked Sep 12 '16 14:09

althor


People also ask

How do I compress a Web API response?

There are many ways in which you can compress content that is sent over the wire from your Web API. One way to compress content is by using IIS compression. Using IIS compression, you can perform compression of both static and dynamic content.

Is Brotli better than gzip?

Brotli has a better compression ratio (i.e. it produces smaller compressed files) across every level of compression. While GZIP does beat Brotli on speed most of the time, the level you compress at factors into the results you'll see.

What is content-encoding GZIP?

gzip. A format using the Lempel-Ziv coding (LZ77), with a 32-bit CRC. This is the original format of the UNIX gzip program. The HTTP/1.1 standard also recommends that the servers supporting this content-encoding should recognize x-gzip as an alias, for compatibility purposes. compress.


1 Answers

Since Dec 19, 2017. AWS API Gateway has encoding support.

After the API is created, just go to Settings and select Content Encoding Enable.

See example

Also here is the AWS official release post.

like image 128
Pablo Arias Mora Avatar answered Sep 17 '22 02:09

Pablo Arias Mora