FastEdge isn't just for responding to requests — you can also make outbound HTTP calls from your edge worker. This is useful for fetching data from upstream APIs, aggregating content, or acting as a proxy.
The fastedge crate approach
Using the fastedge crate's http_client module, you can send any HTTP request and get back a response — all from within your WASM handler:
send_request is synchronous from the handler's perspective — it blocks the WASM context until the remote responds, so keep timeouts in mind.Raw proxy-wasm approach
For more advanced control, such as intercepting the client request and making an asynchronous HTTP call before continuing, you can drop down to raw proxy_wasm:
In on_http_request_headers, you call self.dispatch_http_call(...) and return Action::Pause to wait for the response. The response arrives in on_http_call_response, where you can inspect headers, read the body, and then call self.resume_http_request() to let the original request continue.
When to Use Which
Use fastedge::http_client::send_request when you just need to fetch something and return it. It is simpler and works within the familiar Request and Response model.
Use the raw proxy-wasm approach when you need to intercept, augment, or gate a client request using data from an external source.
Full Example
Check out the complete working example on GitHub:
github.com/G-Core/FastEdge-sdk-rust/examples/cdn/http_call
Caveat: HTTP calls from FastEdge use the proxy-wasm ABI and are subject to the edge provider's timeout and resource limits. Timeouts default to 5 seconds on most plans.
Related articles
Subscribe to our newsletter
Get the latest industry trends, exclusive insights, and Gcore updates delivered straight to your inbox.










