#!/usr/bin/env ruby

require 'whimsy/asf'
require 'wunderbar/jquery'

# only available to ASF members and PMC chairs
user = ASF::Person.new($USER)
unless user.asf_member? or ASF.pmc_chairs.include? user
  print "Status: 401 Unauthorized\r\n"
  print "WWW-Authenticate: Basic realm=\"ASF Members and Officers\"\r\n\r\n"
  exit
end

CMD = 'svn log -l 1 officers/iclas.txt'

_html do
  _style :system
  _h1_ 'Response time test'

  _section_.times do
    _h2 'Times'
    _pre 'running test...'
  end

  _section_.output do
    _h2 'Output'
    _pre class: '_stdin'
    _pre 'loading...', class: '_stdout'
  end

  _script %{
    var startTime = new Date();

    $.get('', '', function(data) {
      data.roundTrip = (new Date() - startTime)/1000;
      $('.output pre._stdin').text(#{CMD.inspect});
      $('.output pre._stdout').text(data.result);
      delete data.result;
      $('.times pre').text(JSON.stringify(data, '', 2));
    }, 'json');
  }
end

_json do
  officers = ASF::SVN['officers']
  startTime = Time.now
  _result `#{CMD.sub(/\bofficers\b/, officers)}`
  _server Time.now - startTime
end

