C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

UE4: UnrealWebServer Plugin が 1.4+ のバージョンアップで URL ハンドラーの path ワイルドカードと接続情報からの path の取得に対応

概要

プラグインのバージョン情報の定義は 1.4 のままですが、 UnrealWebServer が更新され、新機能が追加されました。今回追加された新機能は以前にバグレポートとパッチをなかのひとへ送った際に「ついでに将来的にこんな機能にも対応してくれたら嬉しいな😃」と相談していたもので、私の用途ではこれまでのアップデートも含め、 UnrealWebServer の実用性が必要十分に達しました。

isaratech.com

今回追加された機能

  1. Add URIHandler のパラメーター Path* によるワイルドカードを設定可能になった。
  2. Connection に対するメソッド Get Uri Path が追加されリクエストされたパスを接続情報から取得可能になった。

f:id:USAGI-WRP:20171212200248p:plain

f:id:USAGI-WRP:20171212200357p:plain

それでどんな事ができるようになったのか

今回の「URLハンドラーのパスのワイルドカード対応」と「接続情報からのパス取得」、それと以前の更新で追加された「リクエストのRAWボディー取得」と「レスポンスへのRAW書き出し」を組み合わせると、ファイルサーバーをエミュレートする事もできます。例えば、 JSON-RPC-2.0 で API を提供するアプリでもファイル単位のバイナリーを受け取ったり、提供したり、そんなような事を簡単に実装したいニーズがあるときに、 UWS を使えば少々のコストで簡単にそんなような API サブシステムを実装できるようになりました。

DELETE などもハンドラーとしては扱えるので、 いわゆる REST API 的な実装もかんたんに対応できるようになりました。

Related

usagi.hatenablog.jp

usagi.hatenablog.jp