Skip to content

feat: API response compression & payload optimization (fixes #129)#252

Open
a827681306 wants to merge 1 commit intorohitdash08:mainfrom
a827681306:feature/api-compression-129
Open

feat: API response compression & payload optimization (fixes #129)#252
a827681306 wants to merge 1 commit intorohitdash08:mainfrom
a827681306:feature/api-compression-129

Conversation

@a827681306
Copy link

Summary

Response compression middleware with gzip/deflate, field selection, pagination, and metrics tracking.

Features

  • Gzip/deflate compression: Auto-compress JSON/text responses > 500 bytes
  • Field selection: ?fields=id,name to reduce payload size
  • Pagination helper: Consistent pagination with total, pages, has_next/prev
  • Response metrics: Track original/compressed size, ratio, duration per endpoint
  • Compression stats: Aggregate stats with per-endpoint breakdown

API

  • GET /compression/stats — compression statistics

Middleware

  • Auto-registers on Flask app via init_compression(app)
  • Respects Accept-Encoding header
  • Skips small responses (< 500 bytes)

Tests

10 test cases covering gzip, field selection, pagination, metrics, and API.

Fixes #129

…h08#129)

- Gzip/deflate compression middleware
- Field selection via ?fields= query param
- Pagination helper with consistent format
- Response metrics tracking (size, ratio, duration)
- Compression stats endpoint
- 10 test cases
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

API response compression & payload optimization

1 participant