Name

z3950_client — Metaproxy Z39.50 Backend Client Module

DESCRIPTION

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.

connect-timeout

Specifies how long the client will wait for TCP connect to complete before giving up. Default value is 30 seconds.

init-timeout

Specifies how long the client will wait for Z39.50 Init response before giving up. Default value is 10 seconds.

max-sockets-timeout

Specifies how long the client will wait until giving up in waiting for a free socket (max-sockets condition). The default value is 15.

timeout

Specifies how long the client will wait for any request other than Init before giving up. Default value is 30 seconds.

default_target

Specifies the target (host) for the Z39.50 server to be used if the Init Request does not indicate otherwise.

force_target

Specifies the target (host) for the Z39.50 server to be used always (regardless of Init Request vhost).

force_close

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.

max-sockets

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.

client_ip

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).

charset

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.

bind_host

Is a boolean value (false, true). If true, the outgoing TCP connection will be bound to the same as the listening IP.

SCHEMA

# 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 }?

   

EXAMPLES

A typical configuration looks like this:

    <filter type="z3950_client">
     <timeout>30</timeout>
     <default_target>z3950.indexdata.com</default_target>
    </filter>

   

SEE ALSO

metaproxy(1)

backend_test(3mp)

COPYRIGHT

Copyright (C) 2005-2023 Index Data