Skip to content

Matz葉がにロボコン用コンパイルサーバー

License

Notifications You must be signed in to change notification settings

poporonnet/kanicc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

kanicc - mruby, mruby/c online compiler

API Documents

GET /versions

コンパイラのバージョンを取得

Response

[
  {
    "version": "3.3.0"
  }
]

POST /code

コードをアップロード

Request

{
  "code": "<base64 encoded Ruby Code>"
}

Response

Status 200

{
  "status": "ok",
  "id": "387972832krgr-3jekfjn4t-rkjgnjnedwdgr"
}

GET /code/:id

コードが存在するかのチェック

Response

Status 200

{
  "code": "<base64 encoded Ruby Code>"
}

POST /code/:id/compile

コードをコンパイル

Request

{
  "version": "3.3.0"
}

Response

200 OK
コンパイル成功時

{
  "status": "ok",
  "binary": "<base64 encoded mruby/c binary>"
}

200 OK コンパイル失敗時

{
  "status": "error",
  "error": "<error message>"
}

例:

{
  "status": "error",
  "error": "input:4:0: syntax error, unexpected end of file, expecting \"'end'\"\n"
}

400 Bad Request

{
  // "invalid id" or "unknown compiler version"
  "status": "<error code>"
  // 常に空
  "id": "",
 }

500 Internal Error
他の原因で失敗した場合:

{
  "status": "failed to compile",
  "id": ""
}

About

Matz葉がにロボコン用コンパイルサーバー

Resources

License

Stars

Watchers

Forks