1
0
Fork 0
pull/1486/head
Bethany 2023-08-09 07:10:43 -07:00
parent deda97d5e6
commit 24da3e2d1c
2 changed files with 11 additions and 11 deletions

View File

@ -35,7 +35,7 @@ describe('artifact-http-client', () => {
msg.statusCode = 200
return {
message: msg,
readBody: () => {
readBody: async () => {
return Promise.resolve(
`{"ok": true, "signedUploadUrl": "http://localhost:8080/upload"}`
)
@ -72,7 +72,7 @@ describe('artifact-http-client', () => {
msgSucceeded.statusCode = 200
return {
message: msgSucceeded,
readBody: () => {
readBody: async () => {
return Promise.resolve(
`{"ok": true, "signedUploadUrl": "http://localhost:8080/upload"}`
)
@ -85,7 +85,7 @@ describe('artifact-http-client', () => {
msgFailed.statusMessage = 'Internal Server Error'
return {
message: msgFailed,
readBody: () => {
readBody: async () => {
return Promise.resolve(`{"ok": false}`)
}
}
@ -125,7 +125,7 @@ describe('artifact-http-client', () => {
msgFailed.statusMessage = 'Internal Server Error'
return {
message: msgFailed,
readBody: () => {
readBody: async () => {
return Promise.resolve(`{"ok": false}`)
}
}
@ -165,7 +165,7 @@ describe('artifact-http-client', () => {
msgFailed.statusMessage = 'Unauthorized'
return {
message: msgFailed,
readBody: () => {
readBody: async () => {
return Promise.resolve(`{"ok": false}`)
}
}

View File

@ -17,9 +17,9 @@ interface Rpc {
class ArtifactHttpClient implements Rpc {
private httpClient: HttpClient
private baseUrl: string
private maxAttempts: number = 5
private baseRetryIntervalMilliseconds: number = 3000
private retryMultiplier: number = 1.5
private maxAttempts = 5
private baseRetryIntervalMilliseconds = 3000
private retryMultiplier = 1.5
constructor(
userAgent: string,
@ -52,14 +52,14 @@ class ArtifactHttpClient implements Rpc {
contentType: 'application/json' | 'application/protobuf',
data: object | Uint8Array
): Promise<object | Uint8Array> {
let url = `${this.baseUrl}/twirp/${service}/${method}`
let headers = {
const url = `${this.baseUrl}/twirp/${service}/${method}`
const headers = {
'Content-Type': contentType
}
info(`Making request to ${url} with data: ${JSON.stringify(data)}`)
try {
const response = await this.retryableRequest(() =>
const response = await this.retryableRequest(async () =>
this.httpClient.post(url, JSON.stringify(data), headers)
)
const body = await response.readBody()