NAME

App::KGB::Client::ServerRef - server instance in KGB client

SYNOPSIS

use App::KGB::Client::ServerRef;
my $s = App::KGB::Client::ServerRef->new(
    {   uri      => "http://some.server:port/",
        password => 's3cr1t',
        timeout  => 5
    }
);

$s->send_changes( $client, $protocol_ver, $commit, $branch, $module, { extra => stuff } );

$s->relay_message( $client, $message );

DESCRIPTION

App::KGB::Client::ServerRef is used in App::KGB::Client to refer to remote KGB server instances. It encapsulates sending requests to the remote server, maintaining protocol encapsulation and authentication.

CONSTRUCTOR

new

The usual constructor. Accepts a hashref of initialiers.

FIELDS

uri (mandatory)

The URI of the remote KGB server. Something like http://some.host:port/.

proxy

This is the SOAP proxy used to communicate with the server. If omitted, defaults to the value of uri field, with ?session=KGB appended.

password (mandatory)

Password, to be used for authentication to the remote KGB server.

timeout

Specifies the timeout for the SOAP transaction in seconds. Defaults to 15 seconds.

verbose

Be verbose about communicating with KGB server.

METHODS

send_changes (message parameters)

Transmits the change set and all data about it along with the necessary authentication hash. If an error occurs, an exception is thrown.

Message parameters are passed as arguments in the following order:

Client instance (App::KGB::Client)
Protocol version (or 'auto')
Commit (an instance of App::KGB::Commit)
Branch
Module
Extra

This is a hash reference with additional parameters.

relay_message(client, message)

Sends a message to the server for relaying.

send_changes_v2($info) =item send_changes_v3($info) =item send_changes_v4($info)

Methods implementing different protocol versions

send_changes_soap($message)

Helper method sending commit information via SOAP. Dies on any error or SOAP FAULT.

send_changes_json($message)

Helper method sending commit information via JSON-RPC. Dies on errors.