Sha256: b550e1a3d714d7f78f8e520f151fdde4bd73a554cf35d2e3c5873b8851dc44f0

Contents?: true

Size: 926 Bytes

Versions: 1

Compression:

Stored size: 926 Bytes

Contents

require 'bundler'
Bundler.require

apps = []
apps << Opal::Server.new { |s|
  s.main = 'opal/rspec/sprockets_runner'
  s.append_path 'spec'
  s.debug = false
}

apps << Class.new(Sinatra::Base) {
  get '/http' do
    "lol"
  end

  post '/http' do
    if params['lol'] == 'wut'
      "ok"
    else
      "fail"
    end
  end

  put '/http' do
    if params['lol'] == 'wut'
      "ok"
    else
      "fail"
    end
  end

  delete '/http' do
    "lol"
  end

  get '/events' do
    headers 'Content-Type' => 'text/event-stream'

    stream do |out|
      sleep 0.2

      out << "data: lol\n" << "\n"
      out << "event: custom\n" << "data: omg\n" << "\n"
      out << "data: wut\n" << "\n"

      sleep 10
    end
  end

  get '/socket' do
    request.websocket do |ws|
      ws.onopen do
        ws.send 'lol'
      end

      ws.onmessage do |msg|
        ws.send msg
      end
    end
  end
}

run Rack::Cascade.new(apps)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
opal-browser-0.1.0.beta1 config.ru