Sha256: a672d6fa7769a17c964b84216420b2ed44f18dca1bde89872695c625354df164

Contents?: true

Size: 1.62 KB

Versions: 21

Compression:

Stored size: 1.62 KB

Contents

require 'sinatra/base'
require 'webrick'
require 'webrick/https'
require 'openssl'

options = {
    Port:            ARGV[1].to_i,
    Host:            ARGV.last,
    SSLEnable:       true,
    SSLVerifyClient: OpenSSL::SSL::VERIFY_NONE,
    SSLCertName:     [["CN", WEBrick::Utils::getservername]],
}

class BrowserHTTPSServer < Sinatra::Base

    get '/' do
        <<-HTML
            <html>
                <head>
                    <script>
                        get_ajax = new XMLHttpRequest();
                        get_ajax.onreadystatechange = function() {
                            if( get_ajax.readyState == 4 && get_ajax.status == 200 ) {
                                document.getElementById( "my-div" ).innerHTML = get_ajax.responseText;
                            }
                        }

                        get_ajax.open( "GET", "/get-ajax?ajax-token=my-token", true );
                        get_ajax.send();

                        post_ajax = new XMLHttpRequest();
                        post_ajax.open( "POST", "/post-ajax", true );
                        post_ajax.send( "post-name=post-value" );
                    </script>
                <head>

                <body>
                    <div id="my-div">
                    </div>
                </body>
            </html>
        HTML
    end

    get '/get-ajax' do
        return if params['ajax-token'] != 'my-token'

        <<-HTML
            <form>
                <input name="by-ajax">
            </form>
        HTML
    end

end

server = ::Rack::Handler::WEBrick
trap( :INT ) { server.shutdown }

server.run( BrowserHTTPSServer, options )

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
arachni-1.6.1.3 spec/support/servers/arachni/browser_https.rb
arachni-1.6.1.2 spec/support/servers/arachni/browser_https.rb
arachni-1.6.1.1 spec/support/servers/arachni/browser_https.rb
arachni-1.6.1 spec/support/servers/arachni/browser_https.rb
arachni-1.6.0 spec/support/servers/arachni/browser_https.rb
arachni-1.5.1 spec/support/servers/arachni/browser_https.rb
arachni-1.5 spec/support/servers/arachni/browser_https.rb
arachni-1.4 spec/support/servers/arachni/browser_https.rb
arachni-1.3.2 spec/support/servers/arachni/browser_https.rb
arachni-1.3.1 spec/support/servers/arachni/browser_https.rb
arachni-1.3 spec/support/servers/arachni/browser_https.rb
arachni-1.2.1 spec/support/servers/arachni/browser_https.rb
arachni-1.2 spec/support/servers/arachni/browser_https.rb
arachni-1.1 spec/support/servers/arachni/browser_https.rb
arachni-1.0.6 spec/support/servers/arachni/browser_https.rb
arachni-1.0.5 spec/support/servers/arachni/browser_https.rb
arachni-1.0.4 spec/support/servers/arachni/browser_https.rb
arachni-1.0.3 spec/support/servers/arachni/browser_https.rb
arachni-1.0.2 spec/support/servers/arachni/browser_https.rb
arachni-1.0.1 spec/support/servers/arachni/browser_https.rb