このページは、まだ日本語ではご利用いただけません。翻訳中です。
Looking for the plugin's configuration parameters? You can find them in the WebSocket Validator configuration reference doc.
Validate individual WebSocket messages against to a user-specified schema before proxying them.
Message schema can be configured by type (text or binary) and sender (client or upstream).
When an incoming message is invalid according to the schema, a close frame is
sent to the sender (status: 1007) and the peer before closing the
connection.
Usage
Note: Currently, the only supported validation type is JSON schema draft4, so all examples will use this.
At least one of the following complete message validation configurations must be defined:
- 
config.client.text.typeandconfig.client.text.schema - 
config.client.binary.typeandconfig.client.binary.schema - 
config.upstream.text.typeandconfig.upstream.text.schema - 
config.upstream.binary.typeandconfig.upstream.binary.schema 
Validate client text frames
This example validates that client text frames:
- Are valid JSON
 - Are a JSON object (
{}) - Have a 
nameattribute (of any type) 
Here’s an example sequence for this configuration:
 
sequenceDiagram
autonumber
    activate Client
    activate Kong
    Client->>Kong: text(`{ "name": "Alex" }`)
    activate Upstream
    Kong->>Upstream: text(`{ "name": "Alex" }`)
    Client->>Kong: text(`{ "name": "Kiran" }`)
    Kong->>Upstream: text(`{ "name": "Kiran" }`)
    Client->>Kong: text(`{ "missing_name": true }`)
    Kong->>Client: close(status=1007)
    Kong->>Upstream: close()
    deactivate Upstream
    deactivate Kong
    deactivate Client