<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="">Decorator</string>
    <string name="">For programs which need to modify either the outgoing WebSocket HTTP Upgrade request, the outgoing WebSocket HTTP Upgrade response, or both, the stream supports an optional property called a [\'decorator]. This is a function pointer or callable object which is invoked before the implementation sends an HTTP message. The decorator receives a modifiable reference to the message, allowing for modifications. The interface to this system uses:</string>
    <string name="">WebSocket Decorator Interface</string>
    <string name="">Name</string>
    <string name="">Description</string>
    <string name="">[link beast.ref.boost__beast__websocket__request_type `request_type`]</string>
    <string name="">This is the type of the object passed to the decorator to represent HTTP Upgrade requests.</string>
    <string name="">[link beast.ref.boost__beast__websocket__response_type `response_type`]</string>
    <string name="">This is the type of the object passed to the decorator to represent HTTP Upgrade response.</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream_base__decorator `stream_base::decorator`]</string>
    <string name="">Objects of this type are used to hold a decorator to be set on the stream using `set_option`.</string>
    <string name="">[link beast.ref.boost__beast__websocket__stream.set_option `stream::set_option`]</string>
    <string name="">This function is used to set a `stream_base::decorator` on the stream.</string>
    <string name="">This declares a normal function which decorates outgoing HTTP requests:</string>
    <string name="">When using a decorator, it must be set on the stream before any handshaking takes place. This sets the decorator on the stream, to be used for all subsequent calls to accept or handshake:</string>
    <string name="">Alternatively, a function object may be used. Small function objects will not incur a memory allocation. The follow code declares and sets a function object as a decorator:</string>
    <string name="">A lambda may be used in place of a named function object:</string>
    <string name="">It also possible for a single decorator to handle both requests and responses, if it is overloaded for both types either as a generic lambda (C++14 and later) or as a class as shown here:</string>
    <string name="">The implementation takes ownership by decay-copy of the invocable object used as the decorator. Move-only types are possible:</string>
    <string name="">Undefined behavior results if the decorator modifies the fields</string>
</resources>
