SkillAgentSearch skills...

GZIP

Swift GZIP data compression for macOS and Linux

Install / Use

/learn @ZewoGraveyard/GZIP
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

gzip

Build Status Platforms Package Managers

Blog Twitter Czechboy0

gzip data compression from Swift, OS X & Linux ready

Usage

Works on Data or anything Gzippable

let myData = ... //Data
let myGzipCompressedData = try myData.gzipCompressed() //Data
...
let myGzipUncompressedData = try myGzipCompressedData.gzipUncompressed() //Data
... //PROFIT!

Middleware to suport gzipped content in HTTPClient.

let request = ... //Request
let response = try client.request(request, middleware: [GzipMiddleware()])

Please note, that GzipMiddleware should be placed at the end of a chain:

let response = try client.request(request, middleware: [ContentNegotiationMiddleware(mediaTypes: [.json], mode: .client), GzipMiddleware()])

Details

As this library uses a SwiftPM-compatible source of zlib, you don't need to install anything manually before using it. Even though both OS X and Linux have a preinstalled version of zlib, unfortunately each has a different version, making its potential use inconsistent. In our case everything is compiled from source, so you can be sure to get the same results everywhere. :100:

Installation

Swift Package Manager

.Package(url: "https://github.com/Zewo/gzip.git", majorVersion: 0, minor: 8)

:gift_heart: Contributing

Please create an issue with a description of your problem or open a pull request with a fix.

:+1: Thanks

This project was initially inspired by NSData+GZIP, thank you!

:v: License

MIT

:alien: Author

Honza Dvorsky - http://honzadvorsky.com, @czechboy0

View on GitHub
GitHub Stars22
CategoryDevelopment
Updated4y ago
Forks5

Languages

Swift

Security Score

75/100

Audited on Jan 21, 2022

No findings