taler-docs

Documentation for GNU Taler components, APIs and protocols
Log | Files | Refs | README | LICENSE

taler-exchange-httpd.1.rst (4404B)


      1 taler-exchange-httpd(1)
      2 #######################
      3 
      4 .. only:: html
      5 
      6    Name
      7    ====
      8 
      9    **taler-exchange-httpd** - run Taler exchange (with RESTful API)
     10 
     11 Synopsis
     12 ========
     13 
     14 **taler-exchange-httpd**
     15 [**-a** | **--allow-timetravel**]
     16 [**-C** | **--connection-close**]
     17 [**-c** *FILENAME* | **--config=**\ ‌\ *FILENAME*]
     18 [**-f** *FILENAME* | **--file-input=**\ ‌\ *FILENAME*]
     19 [**-h** | **--help**]
     20 [**-L** *LOGLEVEL* | **--loglevel=**\ ‌\ *LOGLEVEL*]
     21 [**-l** *FILENAME* | **--logfile=**\ ‌\ *FILENAME*]
     22 [**-n** *N* | **--num-threads=**\ \ *N*]
     23 [**-r** | **--allow-reuse-address**]
     24 [**-T** *USEC* | **--timetravel=**\ \ *USEC*]
     25 [**-t** *SECONDS* | **--timeout=**\ ‌\ *SECONDS*]
     26 [**-v** | **--version**]
     27 
     28 Description
     29 ===========
     30 
     31 **taler-exchange-httpd** is a command-line tool to run the Taler
     32 exchange (HTTP server). The required configuration, keys and database
     33 must exist before running this command.
     34 
     35 Its options are as follows:
     36 
     37 **-a** \| **--allow-timetravel**
     38    Allow clients to request /keys for arbitrary timestamps.
     39    This should only be enabled for testing and development,
     40    as clients could abuse this in denial of service attacks,
     41    as it makes the /keys response generation much more expensive.
     42 
     43 **-C** \| **--connection-close**
     44    Force each HTTP connection to be closed after each request (useful in
     45    combination with **-f** to avoid having to wait for
     46    netcat (nc) to time out).
     47 
     48 **-c** *FILENAME* \| **--config=**\ ‌\ *FILENAME*
     49    Use the configuration and other resources for the merchant to operate
     50    from FILENAME.
     51 
     52 **-f** *FILENAME* \| **--file-input=**\ ‌\ *FILENAME*
     53    This option is only available if the exchange was compiled with the
     54    configure option --enable-developer-mode. It is used for generating
     55    test cases against the exchange using AFL. When this option is
     56    present, the HTTP server will
     57 
     58    1. terminate after the first client’s HTTP connection is completed,
     59       and
     60    2. automatically start such a client using a helper process based on
     61       the nc(1) or ncat(1) binary using FILENAME as the standard input
     62       to the helper process.
     63 
     64    As a result, the process will effectively run with *FILENAME* as the
     65    input from an HTTP client and then immediately exit. This is useful
     66    to test taler-exchange-httpd against many different possible inputs
     67    in a controlled way.
     68 
     69 **-h** \| **--help**
     70    Print short help on options.
     71 
     72 **-L** *LOGLEVEL* \| **--loglevel=**\ ‌\ *LOGLEVEL*
     73    Specifies the log level to use. Accepted values are: ``DEBUG``, ``INFO``,
     74    ``WARNING``, ``ERROR``.
     75 
     76 **-l** *FILENAME* \| **--logfile=**\ ‌\ *FILENAME*
     77    Send logging output to *FILENAME*.
     78 
     79 **-r** \| **--allow-reuse-address**
     80    Allow the exchange to re-use the listen port even if another service
     81    is already using it. Useful if multiple processes are used to increase
     82    processing capacity.
     83 
     84 **-T** *USEC* \| **--timetravel=**\ \ *USEC*
     85    Modify the system time by *USEC* microseconds.
     86    *USEC* may be prefixed with ``+`` or ``-`` (e.g. ``-T +300``).
     87    This option is intended for debugging/testing only.
     88 
     89 **-t** *SECONDS* \| **--timeout=**\ ‌\ *SECONDS*
     90    Specifies the number of SECONDS after which the HTTPD should close
     91    (idle) HTTP connections.
     92 
     93 **-v** \| **--version**
     94    Print version information.
     95 
     96 
     97 Signals
     98 =======
     99 
    100 **taler-exchange-httpd** responds to the following signals:
    101 
    102 ``SIGTERM``
    103    Sending a SIGTERM to the process will cause it to shutdown cleanly.
    104 
    105 ``SIGHUP``
    106    Sending a SIGHUP to the process will cause it to re-execute the
    107    taler-exchange-httpd binary in the PATH, passing it the existing
    108    listen socket. Then the old server process will automatically exit
    109    after it is done handling existing client connections; the new server
    110    process will accept and handle new client connections.
    111 
    112 Exit Status
    113 ===========
    114 
    115 ``0``
    116    Successful termination.
    117 
    118 ``1``
    119    An operational failure occurred.
    120 
    121 ``2``
    122    The command-line arguments are invalid.
    123 
    124 ``5``
    125    A required runtime resource is unavailable.
    126 
    127 ``6``
    128    A required configuration setting is missing or invalid.
    129 
    130 ``9``
    131    A hard failure occurred. Automatic restart should be suppressed until an
    132    operator has intervened.
    133 
    134 See Also
    135 ========
    136 
    137 taler-exchange-dbinit(1), taler-exchange-offline(1), taler-exchange.conf(5).
    138 
    139 Bugs
    140 ====
    141 
    142 Report bugs by using https://bugs.taler.net or by sending electronic
    143 mail to <taler@gnu.org>.