Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support HTTP/2 #164

Open
dremerten opened this issue Oct 15, 2024 · 1 comment
Open

Support HTTP/2 #164

dremerten opened this issue Oct 15, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@dremerten
Copy link

Currently ascli uses HTTP/1

HTTP/2

-Binary Protocol: HTTP/2 uses a binary format for data, which is more efficient for computers to parse and reduces overhead.

  • Multiplexing: Multiple requests and responses can be sent simultaneously over a single connection without blocking each other, improving performance.
  • Header Compression: HTTP/2 uses HPACK compression to reduce the size of HTTP headers, leading to less bandwidth usage and faster requests.
  • Stream Prioritization: It allows clients to prioritize streams, enabling better resource allocation based on the importance of different requests.

Reason for the ask is I was running into issues where my AWS Load-Balancer expected HTTP/2

Example: - Getting a 464 response for mis-match

D, [2024-10-15T18:38:14.527587 #31842] DEBUG -- : raise_on_error POST /aspera/faspex/auth/token 🔑
ERROR: Rest: staging.qa.asperatest.net 464
ERROR: Argument: unprocessed values: ["data_23224"]
/usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest_error_analyzer.rb:48:in `raise_on_error': staging.qa.asperatest.net 464  (Aspera::RestCallError)
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:382:in `call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/base.rb:65:in `create_token_call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/jwt.rb:49:in `create_token'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/oauth/base.rb:144:in `token'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:283:in `call'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/rest.rb:427:in `create'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/plugins/faspex5.rb:489:in `package_action'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/plugins/faspex5.rb:735:in `execute_action'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/lib/aspera/cli/main.rb:300:in `process_command_line'
	from /usr/local/rvm/gems/ruby-3.1.2/gems/aspera-cli-4.19.0/bin/ascli:24:in `<top (required)>'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ascli:25:in `load'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ascli:25:in `<main>'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `eval'
	from /usr/local/rvm/gems/ruby-3.1.2/bin/ruby_executable_hooks:22:in `<main>'
Transfer complete
@laurent-martin
Copy link
Member

Yes, nice to have.
but ruby's embedded net-http gem does not support HTTP/2.
gem httpx might be a solution.

@laurent-martin laurent-martin self-assigned this Oct 15, 2024
@laurent-martin laurent-martin added the enhancement New feature or request label Oct 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants