🍟
Socket.ioでUser-Agentの設定
はじめに
Node.jsでsocket.ioを利用する時に、User-Agentに独自の値を設定する手順となります。
実装方法
- typescriptで実装
test.ts
import { io } from 'socket.io-client';
let socket = io(
"https://www.example.com/sample/",
{
path: "/test/socket.io/",
extraHeaders : {
"User-Agent":"Sample-User-Agent/1.0",
}
}
);
説明
- 第二引数のMAPのagentプロパティではなく、extraHeadersにUser-Agentを直接記載します。
- 別件ではあるが第一引数のURLのパスは、socket.ioの名前空間で、HTTPリクエストのパスではい。
- HTTPのパスを変更する場合は、第二引数のMAPのpathで指定します。
- その場合は、サーバ側でも同じになるように設定するか、リバースプロキシで調整するなどの必要があります。
その他
socket.ioはWebsocketかイベントが発生まで通信を送信/返却しないPOSTを一定間隔で繰り返す方法の二系統の動きがあります。
後者の場合には一定間隔でHTTPのログが出力されます。
その際にUserAgentがデフォルトの値だとログでの確認がしにくいのでUser-Agentを変更する必要がありました。
Discussion