[Wicket-ja-user 525] Re: バックエンドがHTTPのみで通信している場合のHTTPSページへの遷移

アーカイブの一覧に戻る

Tsutomu Yano t_yano****@me*****
2011年 4月 24日 (日) 16:44:43 JST


矢野です。
自分でコメント。

On 2011/04/24, at 1:37, Tsutomu Yano wrote:
> なお、SwitchProtocolRequestTargetがパッケージプライベートなのはともかく、SwitchProtocolRequestTarget.Protocolが外部参照不可なのは、もしかしたら、Wicket側の問題かもしれません。

この部分、変なこと書いてますね、私。SwitchProtocolRequestTargetがパッケージプライベートなので、SwitchProtocolRequestTarget.requireProtocol(Protocol)を呼び出すこと自体ができないですから、Protocolだけ外部参照可能になっても意味がないですね。SwitchProtocolRequestTarget自体がpublicにならないと。

結局、現在のデザインでは、やはり拡張ポイントはHttpsRequestCycleProcessorのcheckSecureIncoming()であり、ここでHTTPS/HTTPの判定をして、期待する動作をする新しいIRequestTargetを返せば、そのリクエストターゲットに処理が移る、という作りのようですね。

SwitchProtocolRequestTargetのオーバーライドが出来れば楽ですができないので、もし私がやるならば、SwitchProtocolRequestTargetをコピーして独自のクラスを作り、それを利用するような気がします。

WicketのMLに「このメソッド(やクラス)が非公開なのはおかしい」というポストがたまに投げられて、次リリースでpublicになってたりすることがあるので、SwitchProtocolRequestTargetはpublicであるべきだと言ってみるのもいいかもしれません。

ただ、本トラブルについては、Glassfishで対応できるならそうしたほうが問題に対して直接的なアプローチなので、トラブルが少なくなる(アプリケーション側で余計な考慮をする必要がなくなる)ように感じました。

---------------------------------------------------
矢野 勉(やの つとむ)
電子メール: t_yano****@me*****
---------------------------------------------------




Wicket-ja-user メーリングリストの案内
アーカイブの一覧に戻る