Fortinet white logo
Fortinet white logo

Script Reference Guide

PROXY:atomic_counter_set()

PROXY:atomic_counter_set()

Sets the value specified by an atomic counter name.

Syntax

PROXY:atomic_counter_set(counter_name, value);

Arguments

Name Description
counter_name

A Lua string as the name of the counter. This parameter is mandatory. This will map to an index of an array.

value

A Lua number to be assigned to the counter.

Events

Applicable in the following events:

  • RULE_INIT

  • HTTP events: HTTP_REQUEST, HTTP_RESPONSE ,HTTP_DATA_REQUEST, HTTP_DATA_RESPONSE ,BEFORE_AUTH, AUTH_RESULT, COOKIE_BAKE

  • SSL events: CLIENTSSL_HANDSHAKE, SERVERSSL_HANDSHAKE, CLIENTSSL_RENEGOTIATE, SERVERSSL_RENEGOTIATE

  • TCP events: TCP_ACCEPTED, TCP_CLOSED, SERVER_CONNECTED, SERVER_CLOSED, VS_LISTENER_BIND, SERVER_BEFORE_CONNECT

  • WAF events: WAF_REQUEST_BEFORE_SCAN,WAF_RESPONSE_BEFORE_SCAN,WAF_REQUEST_ATTACK_DETECTED,WAF_RESPONSE_ATTACK_DETECTED

Example

when HTTP_REQUEST {
        counter_name = "DemoCounter1"
        value = 10
        ret = PROXY:atomic_counter_set(counter_name, value)
       if ret then
               debug("===>>atomic_counter_set success: [%s]=[%d]\n", counter_name, value)
       else
              debug("===>>atomic_counter_set failed: [%s]=[%d]\n", counter_name, value)
       end
}

Supported Version

FortiADC version 7.6.0 and later.

PROXY:atomic_counter_set()

PROXY:atomic_counter_set()

Sets the value specified by an atomic counter name.

Syntax

PROXY:atomic_counter_set(counter_name, value);

Arguments

Name Description
counter_name

A Lua string as the name of the counter. This parameter is mandatory. This will map to an index of an array.

value

A Lua number to be assigned to the counter.

Events

Applicable in the following events:

  • RULE_INIT

  • HTTP events: HTTP_REQUEST, HTTP_RESPONSE ,HTTP_DATA_REQUEST, HTTP_DATA_RESPONSE ,BEFORE_AUTH, AUTH_RESULT, COOKIE_BAKE

  • SSL events: CLIENTSSL_HANDSHAKE, SERVERSSL_HANDSHAKE, CLIENTSSL_RENEGOTIATE, SERVERSSL_RENEGOTIATE

  • TCP events: TCP_ACCEPTED, TCP_CLOSED, SERVER_CONNECTED, SERVER_CLOSED, VS_LISTENER_BIND, SERVER_BEFORE_CONNECT

  • WAF events: WAF_REQUEST_BEFORE_SCAN,WAF_RESPONSE_BEFORE_SCAN,WAF_REQUEST_ATTACK_DETECTED,WAF_RESPONSE_ATTACK_DETECTED

Example

when HTTP_REQUEST {
        counter_name = "DemoCounter1"
        value = 10
        ret = PROXY:atomic_counter_set(counter_name, value)
       if ret then
               debug("===>>atomic_counter_set success: [%s]=[%d]\n", counter_name, value)
       else
              debug("===>>atomic_counter_set failed: [%s]=[%d]\n", counter_name, value)
       end
}

Supported Version

FortiADC version 7.6.0 and later.