MCPcopy Create free account
hub / github.com/askfalse/roproxy-lite / makeRequest

Function makeRequest

main.go:58–88  ·  view source on GitHub ↗
(ctx *fasthttp.RequestCtx, attempt int)

Source from the content-addressed store, hash-verified

56}
57
58func makeRequest(ctx *fasthttp.RequestCtx, attempt int) *fasthttp.Response {
59 if attempt > retries {
60 resp := fasthttp.AcquireResponse()
61 resp.SetBody([]byte("Proxy failed to connect. Please try again."))
62 resp.SetStatusCode(500)
63
64 return resp
65 }
66
67 req := fasthttp.AcquireRequest()
68 defer fasthttp.ReleaseRequest(req)
69 req.Header.SetMethod(string(ctx.Method()))
70 url := strings.SplitN(string(ctx.Request.Header.RequestURI())[1:], "/", 2)
71 req.SetRequestURI("https://" + url[0] + ".roblox.com/" + url[1])
72 req.SetBody(ctx.Request.Body())
73 ctx.Request.Header.VisitAll(func (key, value []byte) {
74 req.Header.Set(string(key), string(value))
75 })
76 req.Header.Set("User-Agent", "RoProxy")
77 req.Header.Del("Roblox-Id")
78 resp := fasthttp.AcquireResponse()
79
80 err := client.Do(req, resp)
81
82 if err != nil {
83 fasthttp.ReleaseResponse(resp)
84 return makeRequest(ctx, attempt + 1)
85 } else {
86 return resp
87 }
88}

Callers 1

requestHandlerFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected