Intermediate Response headers not printed for Digest Auth
まだ誰も着手していません。
評価
調査の方向性
提供された HTTPie コマンドを digest-auth エンドポイントに対して実行し、curl の出力と比較します。DigestAuthPlugin、requests.request の呼び出し、--all/--print の処理が中間レスポンスをどのように表現するかを追跡します。完了条件は、初回の 401 ヘッダーと最終的な 200 レスポンスの両方が、ドキュメントどおりに表示されることです。
索引モデルが issue の本文から書いたものです。
説明
Checklist
- I've searched for similar issues.
- I'm using the latest version of HTTPie.
Minimal reproduction code and steps
- show with curl
curl https://httpbin.io/digest-auth/auth/user/pass -i --digest --user 'user:pass'
HTTP/1.1 401 Unauthorized
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Www-Authenticate: Digest qop=auth, realm="httpbin.io", algorithm=MD5, nonce=0466467c2af05e1dc3647666a0881e5f, opaque=dace930722adc22226b9b442aa01127f
Date: Fri, 04 Oct 2024 14:18:46 GMT
Content-Length: 52
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Oct 2024 14:18:46 GMT
Content-Length: 43
{
"authorized": true,
"user": "user"
}
- show with http
http --verbose --print=HhBbm -A digest -a 'user:pass' --all https://httpbin.io/digest-auth/auth/user/pass
GET /digest-auth/auth/user/pass HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Host: httpbin.io
User-Agent: HTTPie/3.2.3
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Length: 43
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Oct 2024 14:17:26 GMT
{
"authorized": true,
"user": "user"
}
The 401 Response is missing although I have specified --all and the documentation explicitely states that "The intermediary HTTP communication include followed redirects (with --follow), the first unauthorized request when HTTP digest authentication is used (--auth=digest), etc."
See https://httpie.io/docs/cli/viewing-intermediary-requestsresponses
Current result
The 401 Response is missing
Expected result
The 401 Response should be displayed
Debug output
Please re-run the command with --debug, then copy the entire command & output and paste both below:
http --debug --print=HhBbm -A digest -a 'user:pass' --all https://httpbin.io/digest-auth/auth/user/pass
HTTPie 3.2.3
Requests 2.31.0
Pygments 2.18.0
Python 3.12.6 (main, Sep 6 2024, 19:03:47) [Clang 15.0.0 (clang-1500.3.9.4)]
/opt/homebrew/Cellar/httpie/3.2.3/libexec/bin/python
Darwin 23.6.0
<Environment {'apply_warnings_filter': <function Environment.apply_warnings_filter at 0x106774d60>,
'args': Namespace(),
'as_silent': <function Environment.as_silent at 0x106774c20>,
'colors': 256,
'config': {'default_options': []},
'config_dir': PosixPath('/Users/Sven/.config/httpie'),
'devnull': <property object at 0x106756f70>,
'is_windows': False,
'log_error': <function Environment.log_error at 0x106774cc0>,
'program_name': 'http',
'quiet': 0,
'rich_console': <functools.cached_property object at 0x10674f6e0>,
'rich_error_console': <functools.cached_property object at 0x10674f740>,
'show_displays': True,
'stderr': <_io.TextIOWrapper name='<stderr>' mode='w' encoding='utf-8'>,
'stderr_isatty': True,
'stdin': <_io.TextIOWrapper name='<stdin>' mode='r' encoding='utf-8'>,
'stdin_encoding': 'utf-8',
'stdin_isatty': True,
'stdout': <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'>,
'stdout_encoding': 'utf-8',
'stdout_isatty': True}>
<PluginManager {'adapters': [],
'auth': [<class 'httpie.plugins.builtin.BasicAuthPlugin'>,
<class 'httpie.plugins.builtin.DigestAuthPlugin'>,
<class 'httpie.plugins.builtin.BearerAuthPlugin'>],
'converters': [],
'formatters': [<class 'httpie.output.formatters.headers.HeadersFormatter'>,
<class 'httpie.output.formatters.json.JSONFormatter'>,
<class 'httpie.output.formatters.xml.XMLFormatter'>,
<class 'httpie.output.formatters.colors.ColorFormatter'>]}>
>>> requests.request(**{'auth': <requests.auth.HTTPDigestAuth object at 0x106b59520>,
'data': RequestJSONDataDict(),
'headers': <HTTPHeadersDict('User-Agent': b'HTTPie/3.2.3')>,
'method': 'get',
'params': <generator object MultiValueOrderedDict.items at 0x106916b60>,
'url': 'https://httpbin.io/digest-auth/auth/user/pass'})
GET /digest-auth/auth/user/pass HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Host: httpbin.io
User-Agent: HTTPie/3.2.3
HTTP/1.1 200 OK
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Content-Length: 43
Content-Type: application/json; charset=utf-8
Date: Fri, 04 Oct 2024 14:27:01 GMT
{
"authorized": true,
"user": "user"
}
Elapsed time: 0.002145583s
- 主要言語
- Python
- スター
- 38.6k
- フォーク
- 4k
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
httpie/cli のほかの issue
-
new
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
bug new
難易度 4/5 3〜5日 初心者へのやさしさ 48/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
似ている issue
-
agent-ready documentation needs-triage
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 91/100
-
workflow-status page template still says reusable workflows are "triggered only by workflow_call:" オープン
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
-
instance instance add
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
searxng/searx-instances#939 · コメント 1 件 ·
-
area-deployment area-integrations triage:bot-seen
難易度 2/5 半日 初心者へのやさしさ 86/100