Support HTTP/2

未关闭
#164 1 条评论 0 个 reaction 已指派 1 人 在 GitHub 查看

@laurent-martin 已经在做这个了。

开始于 2024年10月15日。

评估

这个 Issue 还没有评估数据。

描述

enhancement

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
主要语言
Ruby
星标
102
派生
24
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

IBM/aspera-cli 的其他 Issue

查看 IBM/aspera-cli 的全部 Issue

相似的 Issue

更多 Ruby Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。