vertx_virtualhost_route

Vert.xでVirtualhost単位でルーティングする方法

最近Vert.xでサーバサイドの開発を行う方法を考えています。

その中で、VirtualHostHandlerというものがあり、ホスト名を指定して分岐する機能があるのですが、ホスト名ごとにRouterクラスを作る方法に少し手間取ったのでメモ。

なお、今回はKotlinで試していますのでJavaの人は脳内で書き換えてください。

MainVerticle

メインのVerticleは単にホスト振り分け用のメインルータクラスをセットしてHTTPサーバをリッスンするだけです。

メインルータ

VirtualHostHandlerを使って振り分けます。

VirtualHost別にダイレクトにsub routerのマウントとかができなかったので、こんな感じでhandlerの中で Router を作ってaccept()を行っています。

各ホストごとのルータ

各ホストごとについては通常通りルータクラスを作ればOKだと思います。

上の例ではAPIに使うルータの例で、CORSを有効にしています。

今回のポイント

Handlerの中で別のルータをどうやって使うか、というところで悩みました。
認証のやり方とかも今後まとめる予定。

LINEで送る
Pocket

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です