Docs
Launch GraphOS Studio

Customizations for the Apollo Router

Extend your router with custom functionality


You can create customizations for the Apollo Router to add functionality that isn't available via built-in configuration options. For example, you can make an external call to fetch authentication data for each incoming request.

Customization types

The Apollo Router supports the following customization types:

  • Rhai scripts
    • The Rhai scripting language enables you to add functionality directly to your stock router binary by hooking into different phases of the router's request lifecycle.
  • External co-processing (Enterprise feature)
    • If your organization has a GraphOS Enterprise plan, you can write custom request-handling code in any language. This code can run in the same container as your router or separately.
    • The router calls your custom code via HTTP, passing it the details of each incoming client request.

Use Rhai scripts if they support your use case. External co-processing is most helpful if your customization needs to do any of the following (which Rhai scripts don't support):

  • Read or write to disk
  • Make network requests
  • Use libraries from a particular language or framework

Next, see the documentation for your preferred customization type.

Previous
Request format
Next
Rhai scripts
Edit on GitHubEditForumsDiscord