22 releases

0.5.1 Oct 17, 2024
0.4.16 Sep 6, 2024
0.4.14 May 22, 2024
0.4.12 Jan 2, 2024
0.1.4 Feb 24, 2023

#247 in Network programming

Download history 113/week @ 2024-07-29 13/week @ 2024-08-26 326/week @ 2024-09-02 8/week @ 2024-09-09 47/week @ 2024-09-16 17/week @ 2024-09-23 210/week @ 2024-09-30 14/week @ 2024-10-07 218/week @ 2024-10-14 15/week @ 2024-10-21 1/week @ 2024-10-28 12/week @ 2024-11-04

247 downloads per month
Used in 3 crates

MIT license

350KB
8K SLoC

htsget-http

MIT licensed Build Status

Framework independent code for handling HTTP in htsget-rs.

Overview

This crate handles all the framework independent code for htsget-rs, it:

  • Produces htsget-specific HTTP responses.
  • Converts query results to JSON HTTP responses.
  • Handles htsget client error reporting.
  • Uses htsget-search to calculate URL tickets and byte ranges.

Usage

For running htsget-rs as an application

There is no need to interact with this crate for running htsget-rs.

As a library

This crate is useful for implementing additional framework dependent versions of the htsget-rs server. For example, htsget-rs could be written using another framework such as warp. This crate provides functions like get, post and get_service_info_json for this purpose. These functions take query and endpoint information, and process it using htsget-search to return JSON HTTP responses.

Feature flags

This crate has the following features:

  • s3-storage: used to enable S3Storage functionality.
  • url-storage: used to enable UrlStorage functionality.
  • experimental: used to enable experimental features that aren't necessarily part of the htsget spec, such as Crypt4GH support through C4GHStorage.

License

This project is licensed under the MIT license.

Dependencies

~31–54MB
~1M SLoC