, (*1)
Fetch plugin for Craft CMS 3.x
Utilise the Guzzle HTTP client from within your Craft templates., (*2)
Requirements
This plugin requires Craft CMS 3.0.0 or later., (*3)
Installation
To install the plugin, follow these instructions., (*4)
-
Open your terminal and go to your Craft project:, (*5)
cd /path/to/project
-
Then tell Composer to load the plugin:, (*6)
composer require jalendport/craft-fetch
-
In the Control Panel, go to Settings → Plugins and click the “Install” button for Fetch., (*7)
Using Fetch
This plugin is built to work with the standard Guzzle request options, (*8)
Parameters
Parameter |
Example value |
client |
{ base_uri : 'https://gtmetrix.com', timeout : 10 } |
method |
'POST' |
destination |
'api/0.1/test' |
options |
{ auth : ['username', 'password'] } |
Example Usage
Request
{% 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) %}
Response (successful)
{
"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:, (*9)
{% set request = fetch(client, 'POST', 'api/0.1/test', options, false) %}
Response (error)
{
"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"
}
Fetch Roadmap
Some things to do, and ideas for potential features:, (*10)
Brought to you by Luke Youell, (*11)