Legs サーバーにはデバイスから外部サービスへデータを転送する際のルーティング設定を登録することができます。 登録した設定は データ転送 で利用します。

ルーティング設定はいくつも登録できます。各ルーティング設定には以下の情報が登録できます。
| パラメータ | 例 | 概要 |
|---|---|---|
| ルーティング名 | example/create |
ルーティングを指定する際のキーとなる値です |
| URL | https://example.com/api/create |
ルーティング先のURLです |
| Headers | AuthHeader:auth-info |
データ転送時に自動で追加するHTTPヘッダーを登録します |
ルーティング名はデバイスからデータの転送先を指定する際のキーになります。その際ルーティング名とURLで以下のように変数を利用することが可能です。例として
example/:methodhttps://example.com/api/{method}上記のように登録した場合、デバイス上で転送先にexample/createを指定するとhttps://example.com/api/createにデータが転送されます。
また転送先は複数登録することが可能で、その場合指定したルーティングに対してデータを転送するとそれぞれの転送先に同様のデータが転送されます。
クライアントを利用することで、デバイスから外部サービスに向けてデータを送信することができます。 クライアントでは以下のようなコマンドでデータの転送が可能です。
# URL に対してテキストを送信する
$ legsc send http://example.com "transfer data"
# ルーティング設定を利用してテキストを送信する
$ legsc send example/create "transfer data"
# ルーティング設定を利用してJSONを送信する
$ legsc send example/create '{"key": "value"}'また-vオプションをつけることでHTTPのレスポンス内容を転送先ごとに確認することができます。
$ legsc send -v example/hoge 'test-text'
---Response[0]---
URL: http://example.com
Status code: 200
body:データの送信と同様にダウンロードも可能です。公式クライアントの場合はダウンロードしたファイルの出力先を指定することが可能です。
# URL を指定してファイルをダウンロードする
$ legsc send http://example.com/document.txt /var/tmp/
# ルーティング設定の登録先からファイルをダウンロードする
$ legsc send example/document /var/tmp/ルーティング設定に複数の転送先が指定されていた場合、複数の転送先からダウンロードされたファイルが別々にアウトプットされます。