Parent

Class/Module Index [+]

Quicksearch

Rex::Proto::Http::Client::UnitTest

Constants

Klass

Public Instance Methods

test_parse() click to toggle source
# File lib/rex/proto/http/client.rb.ut.rb, line 11
def test_parse
        c = Klass.new('www.metasploit.com')

        # Set request factory parameters
        c.set_config(
                'vhost'      => 'www.metasploit.com',
                'agent'      => 'Metasploit Framework/3.3',
                'version'    => '1.1',
                'cookie'     => 'NoCookie=NotACookie'
        )

        # Set client parameters
        c.set_config(
                'read_max_data' => 1024 * 1024
        )

        #
        # Request the main web page
        #
        r = c.request_raw(
                'method' => 'GET',
                'uri'    => '/'
        )

        resp = c.send_recv(r)

        assert_equal(200, resp.code)
        assert_equal('OK', resp.message)
        assert_equal('1.1', resp.proto)

        #
        # Request a file that does not exist
        #
        r = c.request_raw(
                'method' => 'GET',
                'uri'    => '/NoFileHere.404'
        )

        resp = c.send_recv(r)

        assert_equal(404, resp.code)
        assert_equal('Not Found', resp.message)
        assert_equal('1.1', resp.proto)


        #
        # Send a POST request that results in a 302
        #
        c = Klass.new('beta.microsoft.com')
        c.set_config('vhost' => 'beta.microsoft.com')

        r = c.request_cgi(
                'method' => 'POST',
                'uri'    => '/',
                'vars_post'  => { 'var' => 'val' },
                'ctype' => 'application/x-www-form-urlencoded'
        )

        resp = c.send_recv(r)

        #assert_equal(200, resp.code)
        #assert_equal('OK', resp.message)
        assert_equal(301, resp.code)
        assert_equal('Moved Permanently', resp.message)
        assert_equal('1.1', resp.proto)
end
test_ssl() click to toggle source
# File lib/rex/proto/http/client.rb.ut.rb, line 78
def test_ssl
        c = Klass.new('www.metasploit.com', 443, {}, true)
        c.set_config('vhost' => 'www.metasploit.com')
        r = c.request_raw(
                'method' => 'GET',
                'uri'    => '/'
        )
        resp = c.send_recv(r)

        assert_equal(200, resp.code)
        assert_equal('OK', resp.message)
        assert_equal('1.0', resp.proto)
        c.close
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.