Skip to content

Support HTTP/2 #164

Open
Open
@dremerten

Description

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

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions