Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 

README.md

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. 💯

Installation

Swift Package Manager

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

💝 Contributing

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

👍 Thanks

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

✌️ License

MIT

👽 Author

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

About

Swift GZIP data compression for macOS and Linux

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.