Я пытаюсь сделать POST-запросы к API с приложением node.js
. В настоящее время приложение запускает около 102 почтовых запросов к API.
Около 70% запросов возвращают код состояния 201
, остальные запросы возвращают код состояния 500
и еще меньше код состояния 401
.
Я тестировал те же запросы с помощью Postman Collection Runner, с задержкой 0 ms
, все они успешно выполняются с кодом состояния 201
.
Вот мой файл узла api.js
:
import axios from "axios";
const API_BASE_URL = "https://some.api.endpoint"
const HEADER = {
'auth': {
'username': 'someUser',
'password': 'somePassword'
},
'Content-Type': 'application/json'
}
class HarborApi {
getRegistries = () => {
return axios.get(API_BASE_URL + '/registries', HEADER)
.then(res => res.data === null ? [] : res.data)
.catch(error => console.log(error.response.data))
}
getRegistryByName = (name) => {
return axios.get(API_BASE_URL + '/registries', HEADER)
.then(res => res.data.filter(r => r.name === name)[0])
.catch(error => console.log(error.response.data))
}
addRegistry = (harborRegistry) => {
return axios.post(API_BASE_URL + '/registries', harborRegistry, HEADER)
.then(res => res)
.catch(error => console.log(responseError(error)))
}
getReplicationRules = () => {
return axios.get(API_BASE_URL + '/replication/policies', HEADER)
.then(res => res.data)
.catch(error => console.log(responseError(error)))
}
addReplicationRule = (harborReplicationRule) => {
return axios.post(API_BASE_URL + '/replication/policies', harborReplicationRule, HEADER)
.then(res => res)
.catch(error => console.log(responseError(error)))
}
executeReplicationRuleById = (id) => {
return axios.post(API_BASE_URL + '/replication/executions', {"policy_id": id}, HEADER)
.then(res => res)
.catch(error => console.log(responseError(error)))
}
}
const responseError = (error) => {
return {
"status": error.response.status,
"statusText": error.response.statusText,
"payload": error.config.data,
"error": JSON.stringify(error.response.data),
"error_message": error.message
}
}
export default new HarborApi();
и вот выдержка из журнала приложения узла:
executing replication rule: eu.gcr.io/gardener-project/gardener/terminal-controller-manager:v0.8.0 -> status: 201
executing replication rule: k8s.gcr.io/kube-proxy:v1.18.2 -> status: 201
executing replication rule: quay.io/jetstack/cert-manager-controller:v0.9.1 -> status: 201
executing replication rule: quay.io/jetstack/cert-manager-cainjector:v0.15.1 -> status: 201
executing replication rule: hub.docker.com/goharbor/registry-photon:dev -> status: 201
executing replication rule: quay.io/coreos/configmap-reload:v0.0.1 -> status: 201
executing replication rule: k8s.gcr.io/cluster-proportional-autoscaler-amd64:1.7.1 -> status: 201
{
status: 500,
statusText: 'Internal Server Error',
payload: '{"policy_id":755}',
error: '{"errors":[{"code":"UNKNOWN","message":"internal server error"}]}',
error_message: 'Request failed with status code 500'
}
{
status: 401,
statusText: 'Unauthorized',
payload: '{"policy_id":805}',
error: '{"errors":[{"code":"UNAUTHORIZED","message":"UnAuthorized"}]}',
error_message: 'Request failed with status code 401'
}
executing replication rule: hub.docker.com/goharbor/harbor-registryctl:dev -> status: 201
Была ли у кого-то такая же проблема с axios
, или я что-то пропустил? Если вам нужны расширенные журналы или информация, не стесняйтесь спрашивать.