Net::DRI::Transport::HTTP - HTTP/HTTPS Transport for Net::DRI


This module implements an HTTP/HTTPS transport for establishing connections in Net::DRI


At creation (see Net::DRI new_profile) you pass a reference to an hash, with the following available keys:


time to wait (in seconds) for server reply

ssl_key_file ssl_cert_file ssl_ca_file ssl_ca_path ssl_cipher_list ssl_version ssl_passwd_cb

if remote_url begins with https://, all key materials, see IO::Socket::SSL documentation for corresponding options


see IO::Socket::SSL documentation about verify_mode (by default 0x00 here)


see IO::Socket::SSL documentation about verify_callback, it gets here as first parameter the transport object then all parameter given by IO::Socket::SSL; it is explicitly verified that the subroutine returns a true value, and if not the connection is aborted.


URL to access

client_login client_password

protocol login & password


(optional) new password if you want to change password on login for registries handling that at connection


Net::DRI class handling protocol connection details. Specifying it should not be needed, as the registry driver should have correct default values.


(optional) opaque data given to protocol_connection class. For EPP, a key login_service_filter may exist, whose value is a code ref. It will be given an array of services, and should give back a similar array; it can be used to filter out some services from those given by the registry.


(optional) a callback (code ref) executed after each exchange with the registry, being called with the following parameters: the transport object, the phase (1 for greeting+login, 2 for all normal operations, 3 for logout), the count (if we retried multiple times to send the same message), the message sent (HTTP::Request object) and the response received (HTTP::Response object). This can be used to verify/diagnose SSL details, see example in file t/704opensrs_xcp_live.t


(optional) the local address (hostname or IP) you want to use to connect (if you are multihomed)


For now, support questions should be sent to:


Please also see the SUPPORT file in the distribution.




Patrick Mevzek, <>


Copyright (c) 2008-2011,2013 Patrick Mevzek <>. All rights reserved.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

See the LICENSE file that comes with this distribution for more details.