-
Notifications
You must be signed in to change notification settings - Fork 29
Proxy
Drew Baker edited this page May 24, 2023
·
3 revisions
You can use the built in Proxy endpoint to send a request from the frontend, via WordPress and have it add in secure Authorization headers. This will keep any private API keys secret, but with a friendly DX.
- Be sure to add the Proxy Settings ACF fields found in
acf/proxy-settings.json
- Under the
Proxy Settings
options page, add in the API providers you want to proxy.- The
name
is used in the frontend util function, so remember that as they need to match.
- The
There is a function in util/proxyFetch.js
that you can import and use. It works similar to the regular JS fetch() function, except it adds some custom Headers that connect with the WordPress proxy to add in your private Auth keys.
For example:
methods: {
async submit() {
try {
const responseBody = await proxyFetch(
"mailer", // The "name" in the ACF Proxy Settings
"/v2/contacts", // The API endpoint you wish to access
// An object of fetch params, same as regular JS fetch() params
{
method: "POST",
body: {
email: "example@hubspot.com",
firstname: "Jane",
lastname: "Doe"
}
}
)
} catch (error) {
// Do something on error...
}
}
}
By default, the function builds out the backend URL based on your GQL_ENDPOINT
ENV, but you can manually override that using a PROXY_BASE_URL
if you need.