Utilise the Guzzle HTTP client from within your Craft templates.
This plugin requires Craft CMS 3.0.0 or later.
To install the plugin, follow these instructions.
-
Open your terminal and go to your Craft project:
cd /path/to/project
-
Then tell Composer to load the plugin:
composer require jalendport/craft-fetch
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Fetch.
This plugin is built to work with the standard Guzzle request options
Parameter | Example value |
---|---|
client |
{ base_uri : 'https://gtmetrix.com', timeout : 10 } |
method |
'POST' |
destination |
'api/0.1/test' |
options |
{ auth : ['username', 'password'] } |
{% set client = {
base_uri : 'https://gtmetrix.com',
timeout : 10
} %}
{% set options = {
auth : ['username', 'password'],
form_params : {
url : 'https://www.google.co.uk'
}
} %}
{% set request = fetch(client, 'POST', 'api/0.1/test', options) %}
{
"statusCode":200,
"reason":"OK",
"body": {
"credits_left":30,
"test_id":"JDHFbrt7",
"poll_state_url":"https:\/\/gtmetrix.com\/api\/0.1\/test\/JDHFbrt7"
}
}
You can fetch the string response by adding an additional parameter of false
like so:
{% set request = fetch(client, 'POST', 'api/0.1/test', options, false) %}
{
"error":true,
"reason":"Client error: `POST https:\/\/gtmetrix.com\/api\/0.1\/test` resulted in a `401 Authorization Required` response:\n{\u0022error\u0022:\u0022Invalid e-mail and\/or API key\u0022}\n\n"
}
Some things to do, and ideas for potential features:
Brought to you by Luke Youell