HTTP Request via Schema
“Personal” 1 domain | “Professional” 5 domains | “Agency” 25 domains |
---|---|---|
$4.99 | $9.99 | $19.99 |
Buying the extension gives you a license for 1 year (renewable every year), that includes support and access to all extension updates. Prices are in USD.
🛍️ Buy “HTTP Request via Schema” Extension
Addition of fields to the GraphQL schema to retrieve the current HTTP request data.
List of fields permalink
The following fields are added to the schema:
_httpRequestBody
permalink
Body of the HTTP request.
_httpRequestClientHost
permalink
Client host.
_httpRequestClientIP
permalink
Retrieves the client IP address. If the server is not properly configured (see below), the response is null
.
_httpRequestCookie
permalink
Request cookie value.
_httpRequestCookies
permalink
Request cookies.
_httpRequestDomain
permalink
Domain of the requested URL.
_httpRequestFullURL
permalink
Requested URL (including the query params).
_httpRequestHasCookie
permalink
Does the request contain a certain cookie?.
_httpRequestHasHeader
permalink
Does the request contain a certain header?.
_httpRequestHasParam
permalink
Does the request contain a certain parameter?.
_httpRequestHeader
permalink
Request header value.
_httpRequestHeaders
permalink
Request headers.
_httpRequestHost
permalink
Host of the requested URL.
_httpRequestMethod
permalink
Request method.
_httpRequestParams
permalink
JSON object with all the params (passed via POST or GET).
Param values can be:
- Strings:
?param=value
- Arrays:
?someArray[]=1&someArray[]=2
- Array of arrays:
?someMatrix[0][0]=3&someMatrix[0][1]=4&someMatrix[1][0]=5&someMatrix[1][1]=6
- Associative arrays (i.e. objects):
?someAssocArray["admins"]=20&someAssocArray["authors"]=30
- Associative array of arrays:
?someAssocMatrix["admins"][0]=7&someAssocMatrix["admins"][1]=8&someAssocMatrix["authors"][0]=9&someAssocMatrix["authors"][1]=10
- Other combinations
To get the value of the param, we can use fields _httpRequestStringParam
and _httpRequestStringListParam
for the first two cases respectively, but there are no fields for the other cases.
For those, use this field _httpRequestParams
to obtain the JSON object, and then retrieve the corresponding value from within.
_httpRequestProtocol
permalink
Request protocol.
_httpRequestQuery
permalink
Query params string.
_httpRequestReferer
permalink
Request referer.
_httpRequestRequestTime
permalink
Timestamp of the start of the request.
_httpRequestScheme
permalink
Scheme of the requested URL.
_httpRequestServerIP
permalink
Server IP address.
_httpRequestStringListParam
permalink
Value of a param (passed via POST or GET) of type ?param[]=value1¶m[]=value2
.
_httpRequestStringParam
permalink
Value of a param (passed via POST or GET) of type ?param=value
.
_httpRequestURL
permalink
Requested URL (without query params).
_httpRequestURLPath
permalink
Asolute path (starting with "/") of the requested URL.
_httpRequestUserAgent
permalink
User agent.
Examples permalink
This query:
query {
_httpRequestHeaders
existingHeader: _httpRequestHeader(name: "Accept")
caseInsensitiveExistingHeader: _httpRequestHeader(name: "accept")
nonExistingHeader: _httpRequestHeader(name: "Non-existing")
existingHasHeader: _httpRequestHasHeader(name: "Accept")
caseInsensitiveExistingHasHeader: _httpRequestHasHeader(name: "accept")
nonExistingHasHeader: _httpRequestHasHeader(name: "Non-existing")
_httpRequestBody
_httpRequestMethod
_httpRequestDomain
_httpRequestScheme
_httpRequestHost
_httpRequestURL
_httpRequestFullURL
_httpRequestURLPath
_httpRequestQuery
_httpRequestParams
existingParam: _httpRequestStringParam(name: "page")
caseInsensitiveExistingParam: _httpRequestStringParam(name: "PAge")
existingArrayParam: _httpRequestStringListParam(name: "someArray")
nonExistingParam: _httpRequestStringParam(name: "also-non-existing")
nonExistingListParam: _httpRequestStringListParam(name: "also-non-existing")
existingHasParam: _httpRequestHasParam(name: "page")
caseInsensitiveExistingHasParam: _httpRequestHasParam(name: "PAge")
nonExistingHasParam: _httpRequestHasParam(name: "also-non-existing")
existingCookie: _httpRequestCookie(name: "wordpress_test_cookie")
caseInsentiveExistingCookie: _httpRequestCookie(name: "Wordpress_Test_Cookie")
nonExistingCookie: _httpRequestCookie(name: "not_existing")
existingHasCookie: _httpRequestHasCookie(name: "wordpress_test_cookie")
caseInsentiveExistingHasCookie: _httpRequestHasCookie(name: "Wordpress_Test_Cookie")
nonExistingHasCookie: _httpRequestHasCookie(name: "not_existing")
_httpRequestProtocol
_httpRequestReferer
_httpRequestServerIP
_httpRequestClientIP
_httpRequestClientHost
_httpRequestUserAgent
_httpRequestCookies
_httpRequestRequestTime
}
...produces:
{
"data": {
"_httpRequestHeaders": {
"authorization": "",
"host": "gato-graphql-pro.lndo.site",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/114.0",
"content-length": "1924",
"accept": "application/json",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.5",
"content-type": "application/json",
"cookie": "wordpress_sec_f21902903273c44cc3a47d07e23af599=admin%7C1687924210%7CcMlLArK65w5nACJHlglLMMd52rRVZRmu2LRUJmCi7n1%7Cad6b03a20093f342a4107076432f7857e244174ab4d866c1887417c2e304e3fe; wp-settings-time-1=1686559494; wp-settings-1=libraryContent%3Dbrowse; wordpress_test_cookie=WP%20Cookie%20check; wp_lang=en_US; wordpress_logged_in_f21902903273c44cc3a47d07e23af599=admin%7C1687924210%7CcMlLArK65w5nACJHlglLMMd52rRVZRmu2LRUJmCi7n1%7C0ec85ac4a275aff3c464e139d40061aa0062a4e7376666b99ec8063a6715788a",
"dnt": "1",
"origin": "https://gato-graphql-pro.lndo.site",
"referer": "https://gato-graphql-pro.lndo.site/wp-admin/admin.php?page=gatographql&query=%7B%0A%20%20_httpRequestHeaders%0A%20%20existingHeader%3A%20_httpRequestHeader(name%3A%20%22Accept%22)%0A%20%20caseInsensitiveExistingHeader%3A%20_httpRequestHeader(name%3A%20%22accept%22)%0A%20%20nonExistingHeader%3A%20_httpRequestHeader(name%3A%20%22Non-existing%22)%0A%20%20existingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22Accept%22)%0A%20%20caseInsensitiveExistingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22accept%22)%0A%20%20nonExistingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22Non-existing%22)%0A%20%20_httpRequestBody%0A%20%20_httpRequestMethod%0A%20%20_httpRequestDomain%0A%20%20_httpRequestScheme%0A%20%20_httpRequestHost%0A%20%20_httpRequestURL%0A%20%20_httpRequestFullURL%0A%20%20_httpRequestURLPath%0A%20%20_httpRequestQuery%0A%20%20_httpRequestParams%0A%20%20existingParam%3A%20_httpRequestStringParam(name%3A%20%22page%22)%0A%20%20caseInsensitiveExistingParam%3A%20_httpRequestStringParam(name%3A%20%22PAge%22)%0A%20%20existingArrayParam%3A%20_httpRequestStringListParam(name%3A%20%22someArray%22)%0A%20%20nonExistingParam%3A%20_httpRequestStringParam(name%3A%20%22also-non-existing%22)%0A%20%20nonExistingListParam%3A%20_httpRequestStringListParam(name%3A%20%22also-non-existing%22)%0A%20%20existingHasParam%3A%20_httpRequestHasParam(name%3A%20%22page%22)%0A%20%20caseInsensitiveExistingHasParam%3A%20_httpRequestHasParam(name%3A%20%22PAge%22)%0A%20%20nonExistingHasParam%3A%20_httpRequestHasParam(name%3A%20%22also-non-existing%22)%0A%20%20existingCookie%3A%20_httpRequestCookie(name%3A%20%22wordpress_test_cookie%22)%0A%20%20caseInsentiveExistingCookie%3A%20_httpRequestCookie(name%3A%20%22Wordpress_Test_Cookie%22)%0A%20%20nonExistingCookie%3A%20_httpRequestCookie(name%3A%20%22not_existing%22)%0A%20%20existingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22wordpress_test_cookie%22)%0A%20%20caseInsentiveExistingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22Wordpress_Test_Cookie%22)%0A%20%20nonExistingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22not_existing%22)%0A%20%20_httpRequestProtocol%0A%20%20_httpRequestReferer%0A%20%20_httpRequestServerIP%0A%20%20_httpRequestClientIP%0A%20%20_httpRequestClientHost%0A%20%20_httpRequestUserAgent%0A%0A%20%20_httpRequestCookies%0A%20%20_httpRequestRequestTime%0A%7D&variables=%7B%2B%2B%22postID%22%3A%2B40%2C%2B%2B%22translateToLang%22%3A%2B%22es%22%7D&operationName=SendEmail",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"sec-gpc": "1",
"te": "trailers",
"x-forwarded-for": "172.19.0.1",
"x-forwarded-host": "gato-graphql-pro.lndo.site",
"x-forwarded-port": "443",
"x-forwarded-proto": "https",
"x-forwarded-server": "6de0a38d2bbe",
"x-lando": "on",
"x-real-ip": "172.19.0.1",
"x-wp-nonce": "258a8aed3b"
},
"existingHeader": "application/json",
"caseInsensitiveExistingHeader": "application/json",
"nonExistingHeader": null,
"existingHasHeader": true,
"caseInsensitiveExistingHasHeader": true,
"nonExistingHasHeader": false,
"_httpRequestBody": "{\"query\":\"{\\n _httpRequestHeaders\\n existingHeader: _httpRequestHeader(name: \\\"Accept\\\")\\n caseInsensitiveExistingHeader: _httpRequestHeader(name: \\\"accept\\\")\\n nonExistingHeader: _httpRequestHeader(name: \\\"Non-existing\\\")\\n existingHasHeader: _httpRequestHasHeader(name: \\\"Accept\\\")\\n caseInsensitiveExistingHasHeader: _httpRequestHasHeader(name: \\\"accept\\\")\\n nonExistingHasHeader: _httpRequestHasHeader(name: \\\"Non-existing\\\")\\n _httpRequestBody\\n _httpRequestMethod\\n _httpRequestDomain\\n _httpRequestScheme\\n _httpRequestHost\\n _httpRequestURL\\n _httpRequestFullURL\\n _httpRequestURLPath\\n _httpRequestQuery\\n _httpRequestParams\\n existingParam: _httpRequestStringParam(name: \\\"page\\\")\\n caseInsensitiveExistingParam: _httpRequestStringParam(name: \\\"PAge\\\")\\n existingArrayParam: _httpRequestStringListParam(name: \\\"someArray\\\")\\n nonExistingParam: _httpRequestStringParam(name: \\\"also-non-existing\\\")\\n nonExistingListParam: _httpRequestStringListParam(name: \\\"also-non-existing\\\")\\n existingHasParam: _httpRequestHasParam(name: \\\"page\\\")\\n caseInsensitiveExistingHasParam: _httpRequestHasParam(name: \\\"PAge\\\")\\n nonExistingHasParam: _httpRequestHasParam(name: \\\"also-non-existing\\\")\\n existingCookie: _httpRequestCookie(name: \\\"wordpress_test_cookie\\\")\\n caseInsentiveExistingCookie: _httpRequestCookie(name: \\\"Wordpress_Test_Cookie\\\")\\n nonExistingCookie: _httpRequestCookie(name: \\\"not_existing\\\")\\n existingHasCookie: _httpRequestHasCookie(name: \\\"wordpress_test_cookie\\\")\\n caseInsentiveExistingHasCookie: _httpRequestHasCookie(name: \\\"Wordpress_Test_Cookie\\\")\\n nonExistingHasCookie: _httpRequestHasCookie(name: \\\"not_existing\\\")\\n _httpRequestProtocol\\n _httpRequestReferer\\n _httpRequestServerIP\\n _httpRequestClientIP\\n _httpRequestClientHost\\n _httpRequestUserAgent\\n\\n _httpRequestCookies\\n _httpRequestRequestTime\\n}\",\"variables\":{\"postID\":40,\"translateToLang\":\"es\"}}",
"_httpRequestMethod": "POST",
"_httpRequestDomain": "lndo.site",
"_httpRequestScheme": "https",
"_httpRequestHost": "gato-graphql-pro.lndo.site",
"_httpRequestURL": "https://gato-graphql-pro.lndo.site/wp-admin/edit.php",
"_httpRequestFullURL": "https://gato-graphql-pro.lndo.site/wp-admin/edit.php?page=gatographql&action=execute_query",
"_httpRequestURLPath": "/wp-admin/edit.php",
"_httpRequestQuery": "page=gatographql&action=execute_query",
"_httpRequestParams": {
"page": "gatographql",
"action": "execute_query"
},
"existingParam": "gatographql",
"caseInsensitiveExistingParam": null,
"existingArrayParam": null,
"nonExistingParam": null,
"nonExistingListParam": null,
"existingHasParam": true,
"caseInsensitiveExistingHasParam": false,
"nonExistingHasParam": false,
"existingCookie": "WP Cookie check",
"caseInsentiveExistingCookie": null,
"nonExistingCookie": null,
"existingHasCookie": true,
"caseInsentiveExistingHasCookie": false,
"nonExistingHasCookie": false,
"_httpRequestProtocol": "HTTP/1.1",
"_httpRequestReferer": "https://gato-graphql-pro.lndo.site/wp-admin/admin.php?page=gatographql&query=%7B%0A%20%20_httpRequestHeaders%0A%20%20existingHeader%3A%20_httpRequestHeader(name%3A%20%22Accept%22)%0A%20%20caseInsensitiveExistingHeader%3A%20_httpRequestHeader(name%3A%20%22accept%22)%0A%20%20nonExistingHeader%3A%20_httpRequestHeader(name%3A%20%22Non-existing%22)%0A%20%20existingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22Accept%22)%0A%20%20caseInsensitiveExistingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22accept%22)%0A%20%20nonExistingHasHeader%3A%20_httpRequestHasHeader(name%3A%20%22Non-existing%22)%0A%20%20_httpRequestBody%0A%20%20_httpRequestMethod%0A%20%20_httpRequestDomain%0A%20%20_httpRequestScheme%0A%20%20_httpRequestHost%0A%20%20_httpRequestURL%0A%20%20_httpRequestFullURL%0A%20%20_httpRequestURLPath%0A%20%20_httpRequestQuery%0A%20%20_httpRequestParams%0A%20%20existingParam%3A%20_httpRequestStringParam(name%3A%20%22page%22)%0A%20%20caseInsensitiveExistingParam%3A%20_httpRequestStringParam(name%3A%20%22PAge%22)%0A%20%20existingArrayParam%3A%20_httpRequestStringListParam(name%3A%20%22someArray%22)%0A%20%20nonExistingParam%3A%20_httpRequestStringParam(name%3A%20%22also-non-existing%22)%0A%20%20nonExistingListParam%3A%20_httpRequestStringListParam(name%3A%20%22also-non-existing%22)%0A%20%20existingHasParam%3A%20_httpRequestHasParam(name%3A%20%22page%22)%0A%20%20caseInsensitiveExistingHasParam%3A%20_httpRequestHasParam(name%3A%20%22PAge%22)%0A%20%20nonExistingHasParam%3A%20_httpRequestHasParam(name%3A%20%22also-non-existing%22)%0A%20%20existingCookie%3A%20_httpRequestCookie(name%3A%20%22wordpress_test_cookie%22)%0A%20%20caseInsentiveExistingCookie%3A%20_httpRequestCookie(name%3A%20%22Wordpress_Test_Cookie%22)%0A%20%20nonExistingCookie%3A%20_httpRequestCookie(name%3A%20%22not_existing%22)%0A%20%20existingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22wordpress_test_cookie%22)%0A%20%20caseInsentiveExistingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22Wordpress_Test_Cookie%22)%0A%20%20nonExistingHasCookie%3A%20_httpRequestHasCookie(name%3A%20%22not_existing%22)%0A%20%20_httpRequestProtocol%0A%20%20_httpRequestReferer%0A%20%20_httpRequestServerIP%0A%20%20_httpRequestClientIP%0A%20%20_httpRequestClientHost%0A%20%20_httpRequestUserAgent%0A%0A%20%20_httpRequestCookies%0A%20%20_httpRequestRequestTime%0A%7D&variables=%7B%2B%2B%22postID%22%3A%2B40%2C%2B%2B%22translateToLang%22%3A%2B%22es%22%7D&operationName=SendEmail",
"_httpRequestServerIP": "172.19.0.4",
"_httpRequestClientIP": "172.19.0.2",
"_httpRequestClientHost": null,
"_httpRequestUserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:109.0) Gecko/20100101 Firefox/114.0",
"_httpRequestCookies": {
"wordpress_sec_f21902903273c44cc3a47d07e23af599": "admin|1687924210|cMlLArK65w5nACJHlglLMMd52rRVZRmu2LRUJmCi7n1|ad6b03a20093f342a4107076432f7857e244174ab4d866c1887417c2e304e3fe",
"wp-settings-time-1": "1686559494",
"wp-settings-1": "libraryContent=browse",
"wordpress_test_cookie": "WP Cookie check",
"wp_lang": "en_US",
"wordpress_logged_in_f21902903273c44cc3a47d07e23af599": "admin|1687924210|cMlLArK65w5nACJHlglLMMd52rRVZRmu2LRUJmCi7n1|0ec85ac4a275aff3c464e139d40061aa0062a4e7376666b99ec8063a6715788a"
},
"_httpRequestRequestTime": 1687836456
}
}
Bundles including extension permalink
Recipes using extension permalink
- Interacting with external services via webhooks
- Creating an API gateway
- Updating large sets of data
- Automatically sending newsletter subscribers from InstaWP to Mailchimp
🛍️ Buy “HTTP Request via Schema” Extension