Skip to content

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

Open
dagangtj wants to merge 1 commit intorohitdash08:mainfrom
dagangtj:feat/api-compression-129
Open

feat(compression): API response compression & payload optimization (#129)#267
dagangtj wants to merge 1 commit intorohitdash08:mainfrom
dagangtj:feat/api-compression-129

Conversation

@dagangtj
Copy link

Summary

Reduce payload size and improve response times with gzip compression and payload optimization.

Closes #129

Changes

  • Gzip middleware: packages/backend/app/middleware/compression.py

    • Auto-compresses JSON responses >500 bytes when client accepts gzip
    • Configurable minimum size and compression level
    • Only compresses when result is actually smaller
    • Adds proper Content-Encoding, Content-Length, Vary headers
  • Payload optimization:

    • @slim_response decorator for field selection/exclusion
    • Query param ?fields=id,name for client-side field selection
    • add_pagination_headers() utility for X-Page/X-Total headers
  • Tests: 12 test cases covering compression, filtering, pagination

Acceptance Criteria

  • Production ready implementation
  • Includes tests (12 cases)
  • Follows existing code patterns

…ohitdash08#129)

- Gzip compression middleware for JSON responses >500 bytes
- Payload field selection/exclusion decorator
- Pagination headers utility
- 12 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