Write a library in php
Library requirements:
1. It must be an http client. See the doc for a description of all https://zennolab.atlassian.net/wiki/spaces/APIS/pages/589825 requests
2. Must keep the connection. Must use keep-alive https://github.com/ZennoLab/capmonstercloud-client..
3. Must correctly respond to our errors and stop making requests for task https://zennolab.atlassian.net/wiki/spaces/APIS/pa... https://github.com/ZennoLab/capmonstercloud-client...
4. Must correctly monitor that you do not exceed the limits on requests https://github.com/ZennoLab/capmonstercloud-client-dotnet/blob/9eadb2ac19c802b08a60ecabad3ef9614623ec8a/CapMonsterCloud.Client/CapMonsterCloudClient_GetResultTimeouts.cs
5. You need to put a timeoute on the request of 21 seconds. After 20 seconds, nginx will throw out a 5xx error https://github.com/ZennoLab/capmonstercloud-client...
6. I must take into account the total timeoute that 160 seconds after the creation of the task there is no point in making getTaskResult requests for the task. https://github.com/ZennoLab/capmonstercloud-client... and https://github.com/ZennoLab/capmonstercloud-client...
7. When requesting getTaskResult 503 errors (Service Unavailable) - can be ignored, the system may be overloaded. https://github.com/ZennoLab/capmonstercloud-client...
8. On the timing of requests capmonstercloud-client-dotnet/CapMonsterCloudClient_GetResultTimeouts.cs at main · ZennoLab/capmonstercloud-client-dotnet
9. When sending HTTP requests, send a unique UserAgent for each library in the format "/" (in dotnet like this - "Zennolab.CapMonsterCloud.Client/1.1.5"). The code from the client for dotnet is https://github.com/ZennoLab/capmonstercloud-client-dotnet/blob/a640e8317c16e829104[...] a35cf0a3/CapMonsterCloud.Client/CapMonsterCloudClientFactory.cs
10. Add Soft ID 57 (passed in the createTask method)
11. Write integration tests to verify operability
23.11.2022 18:45