Profile Language

Profile's main body

The main body of a profile will follow the structure below:

set OPTION
set OPTION
.
.
.

http-get {
}

http-post {
}

First, you can adjust options like jitter and delay. After that, you need to define how the agent checks in for jobs, how the server responds, how the agent sends job results to the server, and how the server replies. You can skip setting options like jitter and delay, but you must define the http-get and http-post sections.

http-get

The structure of the http-get section is as follows:

http-get {

    set uri "";

    client {

        header "";
        header "";
	.
	.
	.

        metadata {
            ENCODING;
	    prepend "";
	    prepend "";
	    .
	    .
	    .
	    append "";
	    append "";
	    .
	    .
	    .
	
	    STORE_MESSAGE_OPTION 
        }

    }

    server {
	set verb "";
	
	header "";
        header "";
	.
	.
	.

        output {

            ENCODING;
	    prepend "";
	    prepend "";
	    .
	    .
	    .
	    append "";
	    append "";
	    .
	    .
	    .
	
	    STORE_MESSAGE_OPTION
        }
    }
}

Firstly, you need to define a URI where the agent will communicate for check-in and task retrieval. Next, specify how and where (along with any required headers) the agent's message and the server's response will be concealed. Notably, the client and server sections follow identical structures, so I will elaborate solely on the client section, though the same principles apply to the server section.

In the client section, you can set headers for the GET request. Next, define where to hide and which encoding to use for the agent's metadata. Begin by specifying the message encoding. Then, employ the prepend statement to specify the strings preceding the message, use the append statement for strings following the message, and finally, indicate where to conceal this message.

http-post

This section is similar to http-get, with only two differences. The first is that it has a different name, obviously. The second, and most important difference, is that if you do not set a verb for this section, such as setting the verb GET using set verb GET;, it will default to a POST request. Therefore, if you prefer to send the job results in GET request instead of POST, define the GET verb in this section.

Last updated