WebSocketクライアントヘッダーにカスタムデータを入れる

WebSocketクライアントヘッダーをカスタマイズすることで、WebSocket接続確立プロセスに特定の情報、設定、または要件を含めることができます。

4D v20 R3 以降、WebSocketクライアントヘッダーを介して、セキュリティ情報、アプリケーション固有のデータ、サーバー接続に関連するその他のデータを送信することができます。

WebSocketライアント のブログ記事で説明されているように、WebSocketイベントを管理するクラスを作成する必要があります。

このクラスは新しい属性、headers をサポートしています。この属性はオブジェクトで、headers.key:=value という構文の属性を持ちます。

たとえば、認証トークンをサーバーに送信するためにこのクラスを作成し、クラス名を WSConnectionHandler とします:

Class constructor($myToken:Text)

// サーバーに送信するヘッダーを作成します
This.headers:=New object ("x-authorization";$myToken)
// Cookie ヘッダーは次のようなシンタックスを使用します:
This.headers.Cookie:="yummy_cookie=choco; tasty_cookie=strawberry"

Function onMessage($ws : Object; $event : Object)
   Form.messages.push($event.data)

Function onTerminate($ws : Object; $event : Object)
   Form.messages.push("接続終了")
   

詳しくはドキュメントをご覧ください!また、4Dフォーラムでの議論にも気軽に参加してください。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。