2019-11-13 01:15:43 +00:00
|
|
|
# lsquic
|
|
|
|
|
2019-11-16 02:45:05 +00:00
|
|
|
Crystal bindings to the excellent [LSQUIC](https://github.com/litespeedtech/lsquic) library.
|
2019-11-13 01:15:43 +00:00
|
|
|
|
2019-11-16 19:15:26 +00:00
|
|
|
`libssl.a`, `libcrypto.a` are both licensed under `LICENSE.boringssl`.
|
|
|
|
|
|
|
|
`liblsquic.a` is licensed under `LICENSE.lsquic` and `LICENSE.chrome`.
|
|
|
|
|
|
|
|
This library is available under the MIT license.
|
|
|
|
|
2019-11-13 01:15:43 +00:00
|
|
|
## Installation
|
|
|
|
|
|
|
|
1. Add the dependency to your `shard.yml`:
|
|
|
|
|
|
|
|
```yaml
|
|
|
|
dependencies:
|
|
|
|
lsquic:
|
|
|
|
github: omarroth/lsquic.cr
|
|
|
|
```
|
|
|
|
|
|
|
|
2. Run `shards install`
|
|
|
|
|
2019-11-16 19:15:26 +00:00
|
|
|
## Usage
|
|
|
|
|
|
|
|
```crystal
|
|
|
|
require "lsquic"
|
|
|
|
|
|
|
|
client = QUIC::Client.new("www.youtube.com")
|
|
|
|
client.get("/") # => #<HTTP::Client::Response>
|
|
|
|
|
|
|
|
client.get("/", headers: HTTP::Headers{
|
|
|
|
"cookie" => "Some value",
|
|
|
|
# ...
|
|
|
|
}) # => #<HTTP::Client::Response>
|
|
|
|
|
|
|
|
```
|
|
|
|
|
2019-11-13 01:15:43 +00:00
|
|
|
## Contributing
|
|
|
|
|
|
|
|
1. Fork it (<https://github.com/omarroth/lsquic.cr/fork>)
|
|
|
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
|
|
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
|
|
|
4. Push to the branch (`git push origin my-new-feature`)
|
|
|
|
5. Create a new Pull Request
|
|
|
|
|
|
|
|
## Contributors
|
|
|
|
|
|
|
|
- [Omar Roth](https://github.com/omarroth) - creator and maintainer
|
2019-11-16 19:15:26 +00:00
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|