Skip to content

server: /opensearchdescription が 500 になるのを直す - #339

Merged
znz merged 2 commits into
rurema:masterfrom
znz:opensearch-no-layout
Sep 26, 2026
Merged

znz merged 2 commits into
rurema:masterfrom
znz:opensearch-no-layout

Conversation

@znz

@znz znz commented Sep 12, 2026

Copy link
Copy Markdown
Member

Refs #335(不具合 4)

概要

bitclust server の /opensearchdescription が 500 になっていました。OpenSearchDescriptionScreen#body が run_template の既定(layout あり)で HTML の layout を通しており、layout が呼ぶ charset() がこのクラスに無い(alias charset encoding は他のクラスだけ)ため NoMethodError でした。そもそも XML を HTML の layout で包むのもおかしいので、layout を通さずテンプレートだけを描画します。

検証

  • 新規 test/test_opensearchdescription_screen.rb(2 件: 本文が <?xml で始まり <html を含まないこと・Content-Type)・全テスト green
  • 実 DB(3.4)で /view/opensearchdescription が 200・application/opensearchdescription+xml; charset=utf-8

🤖 Generated with Claude Code

OpenSearchDescriptionScreen#body が run_template の既定(layout あり)で
HTML の layout を通していたため、layout が呼ぶ charset() がこのクラスに無く
NoMethodError で 500 になっていた(alias charset encoding は他のクラスだけ)。
XML を HTML の layout で包むのもおかしいので、layout を通さず
テンプレートだけを描画する。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
require 'bitclust'
require 'bitclust/screen'

# bitclust server の /opensearchdescription(rurema/bitclust の出力監査 2026-09):

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

経緯はコミットログや PR などに書いてコード中には残さないでください。

経緯はコミットログと PR に残す。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@znz

znz commented Sep 25, 2026

Copy link
Copy Markdown
Member Author

レビューありがとうございます。de9f779 でテストファイル冒頭の経緯説明を削除しました(経緯はコミットログと PR 本文に残しています)。

同じ指摘を他の PR(#336・#340・#342)にも適用し、マージ済み分(#333・#337・#338・#341 のテストとコメント)は #343 でまとめて直しました。

🤖 Generated with Claude Code

@znz
znz merged commit 7ef13a3 into rurema:master Sep 26, 2026
10 checks passed
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