z3950_client — Metaproxy Z39.50 Backend Client Module
This backend filter is a Z39.50 client. This modules proxies all Z39.50 packages to a target. HTTP packages are ignored. The address of the backend target (host) can be given as part of the Initialize Request (Virtual host) or the default target may be specified in the configuration.
Specifies how long the client will wait for TCP connect to complete before giving up. Default value is 30 seconds.
Specifies how long the client will wait for Z39.50 Init response before giving up. Default value is 10 seconds.
Specifies how long the client will wait until giving up in waiting for a free socket (max-sockets condition). The default value is 15.
Specifies how long the client will wait for any request other than Init before giving up. Default value is 30 seconds.
Specifies the target (host) for the Z39.50 server to be used if the Init Request does not indicate otherwise.
Specifies the target (host) for the Z39.50 server to be used always (regardless of Init Request vhost).
Is a boolean value (false, true). If true, the Z39.50 client will terminate Z39.50 sessions with a close APDU followed by a socket close. If false (default), the Z39.50 client will be transparent and only send a close if the peer client does it too.
Is an integer value. If set, will limit number of outgoing connections to the value given (sockets). If limit is reached and some clients are idle, the z3950_client filter will wait until a connection becomes available. If waiting for 15 seconds (or as configured by max-sockets-timeout), the connection will be rejected - and a diagnostic will be returned.
Is a boolean value (false, true). If true, the Z39.50 client will, as part of the Init Request, include Client-IP information (the Z39.50 equivalent of HTTP X-Forwarded-To information). By default this is false (not included).
If set, holds Z39.50 negotiation charset (encoding) that is sent via the Initialize Request. If the Initialize Request already contains negotiation information, it will be left un-modified.
Is a boolean value (false, true). If true, the outgoing TCP connection will be bound to the same as the listening IP.
# Metaproxy XML config file schemas
#
# Copyright (C) Index Data
# See the LICENSE file for details.
namespace mp = "http://indexdata.com/metaproxy"
filter_z3950_client =
attribute type { "z3950_client" },
attribute id { xsd:NCName }?,
attribute name { xsd:NCName }?,
element mp:connect-timeout { xsd:integer }?,
element mp:init-timeout { xsd:integer }?,
element mp:max-sockets-timeout { xsd:integer }?,
element mp:timeout { xsd:integer }?,
element mp:default_target { xsd:string }?,
element mp:force_target { xsd:string }?,
element mp:force_close { xsd:boolean }?,
element mp:max-sockets { xsd:integer }?,
element mp:client_ip { xsd:boolean }?,
element mp:charset { xsd:string }?,
element mp:bind_host { xsd:boolean }?