Skip to content

feat(htsget): c4gh-encrypted streams#214

Open
cmdoret wants to merge 24 commits into
mainfrom
feat/htsget-c4gh-streams
Open

feat(htsget): c4gh-encrypted streams#214
cmdoret wants to merge 24 commits into
mainfrom
feat/htsget-c4gh-streams

Conversation

@cmdoret

@cmdoret cmdoret commented Jun 12, 2026

Copy link
Copy Markdown
Member

Changes

  • Support for crypt4gh-encrypted "streams" to the htsget client.
  • Update documentation with new parameters.
  • Stream decryption tests.

More details in the specification document.

Limitations ⚠️

  • The htsget spec does not define how c4gh should be handled. This PR follows the htsget-rs implementation of c4gh, meaning it might not work with other server implementations.
  • This uses crypt4gh.lib.decrypt which decrypts the whole file -> we are storing the whole decrypted file on disk -> not proper streaming. crypt4gh has other functions to decrypt specific parts, but I suggest to move to these once we have proper streaming support implemented e.g. after refactor(htsget): use htslurp as htsget client #215 .
  • I did not test this end-to-end with a real server.

Note

Tests are not fully human and a bit convoluted overkill. I left them, but I would suggest to drop some of them and replace with end-to-end testing if that makes sense.

@cmdoret cmdoret marked this pull request as ready for review July 8, 2026 14:52
@cmdoret cmdoret requested a review from almutlue July 8, 2026 14:52
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.

1 participant