Client-Facing API

The Exploratory Parsing Webapp was written as a Ruby/Sinatra server which managed a collection of parser builds and runs. We use this to guide our Parse Protocol initial draft.

Lifecycle

get '/' do

get %r{/vers/(\w+)} do |prefix|

get %r{/runs/([\d]+)/leg} do |run|

get %r{/runs/([\d]+)/diff} do |run|

post '/start' do

post %r{/runs/([\d]+)/kill} do |run|

post %r{/runs/([\d]+)/delete} do |run|

Debug

get '/pr/code' do

post %r{/runs/([\d]+)/gdb} do |run|

Progress

get %r{/runs/([\d]+)$} do |run|

get %r{/runs/([\d]+)\.svg} do |run|

get %r{/runs/([\d]+)/offsets} do |run|

get %r{/runs/([\d]+)\.dot} do |run|

get %r{/runs/([\d]+)/profile} do |run|

get %r{/runs/([\d]+)/bindings} do |run|

Administration

use Rack::Auth::Basic do |username, password|

get '/ls/data' do

get '/ls/runs' do

get '/git/log' do

get '/ps' do