From b189451ec8d63b4ca4a06e248b6dffb79c9a32cc Mon Sep 17 00:00:00 2001 From: trajan0x <83933037+trajan0x@users.noreply.github.com> Date: Thu, 20 Jun 2024 20:11:21 -0400 Subject: [PATCH] add default backup behavior (#2761) Co-authored-by: Trajan0x --- .../modules/receiptsbackup/receiptsbackup.go | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/services/omnirpc/modules/receiptsbackup/receiptsbackup.go b/services/omnirpc/modules/receiptsbackup/receiptsbackup.go index 39eb5aee32..94e7f122d9 100644 --- a/services/omnirpc/modules/receiptsbackup/receiptsbackup.go +++ b/services/omnirpc/modules/receiptsbackup/receiptsbackup.go @@ -136,11 +136,12 @@ func (r *receiptsProxyImpl) ProxyRequest(c *gin.Context) (err error) { } func (r *receiptsProxyImpl) processRequest(ctx context.Context, rpcRequest rpc.Request, requestID []byte) (resp omniHTTP.Response, err error) { + req := r.client.NewRequest() + body, err := json.Marshal(rpcRequest) + //nolint: exhaustive switch client.RPCMethod(rpcRequest.Method) { case client.TransactionReceiptByHashMethod: - req := r.client.NewRequest() - body, err := json.Marshal(rpcRequest) if err != nil { return nil, errors.New("could not marshal request") } @@ -172,7 +173,22 @@ func (r *receiptsProxyImpl) processRequest(ctx context.Context, rpcRequest rpc.R return nil, fmt.Errorf("could not get response from backup RPC %s: %w", r.proxyURL, err) } } + return resp, nil + default: + resp, err = req. + SetContext(ctx). + SetRequestURI(r.proxyURL). + SetBody(body). + SetHeaderBytes(omniHTTP.XRequestID, requestID). + SetHeaderBytes(omniHTTP.XForwardedFor, []byte(r.proxyURL)). + SetHeaderBytes(omniHTTP.ContentType, omniHTTP.JSONType). + SetHeaderBytes(omniHTTP.Accept, omniHTTP.JSONType). + Do() + + if err != nil { + return nil, fmt.Errorf("could not get response from RPC %s: %w", r.proxyURL, err) + } + return resp, nil } - return nil, nil }