現在ドキュメントは制作段階にあるため、多くの情報が不完全なものになっています

報告は Discord までお願いします

HTTP

概要

ブラウザの制限を超えてHTTPリクエストを送信したりWebSocketを開く事ができます

HTTPリクエスト

fetch()
メソッドを使用してHTTPリクエストを送信できます。このメソッドは標準の
window.fetch
と同じ引数を受け取り、返り値も同様の扱いができます

1
// HTTP GETリクエストの例
2
const resp = await omu.http.fetch('https://omuapps.com/apps.json');
3
const data = await resp.json();
4
console.log(data); // レスポンスデータ

WebSocket接続

WebSocket接続には

ws()
メソッドを使用します。2通りの使用方法があります

方法1: シンプルなメッセージループ

イベントの順序を気にせず簡単に操作できます

1
const socket = await omu.http.ws('wss://echo.websocket.org');
2

3
// メッセージ送信
4
socket.send('Hello, world!');
5

6
// メッセージ受信ループ
7
while (true) {
8
    const msg = await socket.receive();
9
    
10
    if (msg.type === 'close') {
11
        console.log('接続が閉じられました');
12
        break;
13
    }
14
    
15
    if (msg.type === 'text') {
16
        console.log('受信メッセージ:', msg.data); // "Hello, world!"
17
    }
18
    
19
    if (msg.type === 'binary') {
20
        console.log('バイナリデータ受信:', msg.data);
21
    }
22
}

方法2: 標準WebSocketインターフェース

.toWebSocket()
メソッドで標準のWebSocketオブジェクトとして扱うこともできます

1
const ws = await omu.http.ws('wss://echo.websocket.org');
2
const webSocket = ws.toWebSocket();
3

4
webSocket.onopen = () => {
5
    console.log('WebSocket接続が開きました');
6
    webSocket.send('Hello, world!');
7
};
8

9
webSocket.onmessage = (message) => {
10
    console.log('受信メッセージ:', message.data);
11
};
12

13
webSocket.onclose = () => {
14
    console.log('WebSocket接続が閉じました');
15
};
16

17
webSocket.onerror = (error) => {
18
    console.error('WebSocketエラー:', error);
19
};
使用するパッケージマネージャー