jQueryがEchoにRequest
Echoが開いてるIDを探しIDをRedixに保存
EchoがDockerコンテナを作成しコンテナIDをRedixに保存
EchoがIDでWS通信をデキるようにしてjQueryにレスポンス
jQueryがコードを送信
EchoがIDに紐付いてるDokcerコンテナでコードを実行
Echoがjqueryに返却
SampleURL
サーバーとの接続確認に使う
{
"status" : 200 ,
"message" : " OK"
}
Key
Model
Value
status
integer
http status code
message
string
サーバーからの歓迎の言葉
/api/v1/connection/:lang (GET)
SampleURL
WebSocet用のコネクションURLを要求及び発行
Shot cut for parameter meter
lang
short
Ruby
rb
Java
java
Clang
c
Python
py
{
"url" : " ws://localhost:1234/api/v1/execution_environment/ce16824e6180167ef65b1803c6b21b5d" ,
"container_id" : " ce16824e6180167ef65b1803c6b21b5d" ,
"result" : " 99f7f325eea9e42d7c494e6fc9a69e778b5a071dbba5504ebc6072147a8a9323 "
}
Key
Model
Value
url
string
WS通信用のURL
container_id
string
作成されたDockerContainerのName
result
string
作成されたDockerContainerのUuid
/api/v1/execution_environment/:name (WebSocket)
WebSocketでDokcerContainer内を操作
{
"container_id" : " 11aa1d97274d794a90fe10c32ba828de" ,
"command" : " ls" ,
}
Key
Model
Value
container_id
string
DockerContainerのName
command
string
実行したいコマンド
{
"container_id" : " 11aa1d97274d794a90fe10c32ba828de" ,
"command" : " ls" ,
"result" :" bin/nboot\n dev\n etc\n home\n lib\n lib64\n media\n mnt\n opt\n proc\n root\n run\n sbin\n srv\n sys\n tmp\n usr\n var" ,
"exit_status" : 0 ,
}
Key
Model
Value
container_id
string
DockerContainerのName
command
string
実行したコマンド
result
string
実行結果
exit_status
int
終了時のExitStatus