🍟

Socket.ioでUser-Agentの設定

2022/08/12に公開

はじめに

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