auto fn(auto params) {
//your code
}
/healthz
- GET - 200 - Health check endpoint- Response:
{}
- Response:
/init
- GET - 200 - Initialization endpoint- Response:
{}
- Response:
/call
and/http-call
- GET - 200 - Call executable code of handler in this isolation provider- Request:
- body:
- params:
- jwt: STRING - Deeplinks send this token, for create gql and deep client
- code: STRING - Code of handler
- data: {} - Data for handler execution from deeplinks
If this is type handler
- oldLink - from deeplinks, link before transaction
- newLink - from deeplinks, link after transaction
- promiseId - from deeplinks, promise id
- params:
- body:
- Response:
{ resolved?: any; rejected?: any; }
- If resolved or rejected is not null, then it's result of execution
- Request:
params.deep
- Deep Client instanceparams.data
- Data for handler execution from deeplinks
class HandlerParameters {
public:
DeepClientCppWrapper deep;
json data;
HandlerParameters() = default;
~HandlerParameters() = default;
HandlerParameters(auto deepClient, auto jsonData): deep(deepClient) {
data = json::parse(jsonData);
}
};
auto fn(auto params) {
return params.data;
}
auto fn(auto params) {
return params.data["newLink"]["id"];
}
auto fn(auto params) {
return params.deep.id(
StringValue::make("@deep-foundation/core"),
StringValue::make("Symbol")
);
}
auto fn(auto params) {
return params.deep.select(IntValue::make(1))->toJson();
}
auto fn(auto params) {
std::string originalStr = "DeepFoundation";
return params.deep.insert(AssociativeArray::makeFromJson({
{"type_id", 146},
{"string", {
{"data", {
{"value", std::string(originalStr.rbegin(), originalStr.rend())}
}}
}},
{"from_id", params.data["newLink"]["id"]},
{"to_id", params.data["newLink"]["id"]}
}))->toJson();
}
auto fn(auto params) {
return params.deep.insert(AssociativeArray::make({
{"type_id", 58},
{"from_id", 0},
{"to_id", 0}
}))->toJson();
}
pip install -r requirements.txt
apt-get install autoconf cmake make automake libtool git libboost-all-dev libssl-dev g++
#apt-get install libboost-python1.74-dev
cmake .
make
./cpp-docker-isolation-provider
docker build -t cpp-docker-isolation-provider .
docker run -d -p 39100:39100 -e PORT=39100 cpp-docker-isolation-provider
docker ps
netstat -tuln
curl http://localhost:39100