App::KGB::Client::ServerRef(3pm)

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, [ { opts } ] );

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.

dry_run
    Perform all processing, but do not communicate with the 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 [, options hash ])
    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.