Python
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
client.cdn.cdn_resources.prefetch(
resource_id=0,
paths=["/test.jpg", "test1.jpg"],
)package main
import (
"context"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cdn"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.CDN.CDNResources.Prefetch(
context.TODO(),
0,
cdn.CDNResourcePrefetchParams{
Paths: []string{"/test.jpg", "test1.jpg"},
},
)
if err != nil {
panic(err.Error())
}
}
curl --request POST \
--url https://api.gcore.com/cdn/resources/{resource_id}/prefetch \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"paths": [
"/test.jpg",
"test1.jpg"
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({paths: ['/test.jpg', 'test1.jpg']})
};
fetch('https://api.gcore.com/cdn/resources/{resource_id}/prefetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cdn/resources/{resource_id}/prefetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'paths' => [
'/test.jpg',
'test1.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cdn/resources/{resource_id}/prefetch")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paths\": [\n \"/test.jpg\",\n \"test1.jpg\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cdn/resources/{resource_id}/prefetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paths\": [\n \"/test.jpg\",\n \"test1.jpg\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"errors": {
"paths": {
"index": [
"This field may not be blank."
]
}
}
}Tools
Prefetch content
Pre-populate files to a CDN cache before users requests. Prefetch is recommended only for files that more than 200 MB and less than 5 GB.
You can make one prefetch request for a CDN resource per minute. One request for prefetch may content only up to 100 paths to files.
The time of procedure depends on the number and size of the files.
If you need to update files stored in the CDN, first purge these files and then prefetch.
POST
/
cdn
/
resources
/
{resource_id}
/
prefetch
Python
import os
from gcore import Gcore
client = Gcore(
api_key=os.environ.get("GCORE_API_KEY"), # This is the default and can be omitted
)
client.cdn.cdn_resources.prefetch(
resource_id=0,
paths=["/test.jpg", "test1.jpg"],
)package main
import (
"context"
"github.com/G-Core/gcore-go"
"github.com/G-Core/gcore-go/cdn"
"github.com/G-Core/gcore-go/option"
)
func main() {
client := gcore.NewClient(
option.WithAPIKey("My API Key"),
)
err := client.CDN.CDNResources.Prefetch(
context.TODO(),
0,
cdn.CDNResourcePrefetchParams{
Paths: []string{"/test.jpg", "test1.jpg"},
},
)
if err != nil {
panic(err.Error())
}
}
curl --request POST \
--url https://api.gcore.com/cdn/resources/{resource_id}/prefetch \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"paths": [
"/test.jpg",
"test1.jpg"
]
}
'const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({paths: ['/test.jpg', 'test1.jpg']})
};
fetch('https://api.gcore.com/cdn/resources/{resource_id}/prefetch', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gcore.com/cdn/resources/{resource_id}/prefetch",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'paths' => [
'/test.jpg',
'test1.jpg'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}HttpResponse<String> response = Unirest.post("https://api.gcore.com/cdn/resources/{resource_id}/prefetch")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"paths\": [\n \"/test.jpg\",\n \"test1.jpg\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gcore.com/cdn/resources/{resource_id}/prefetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paths\": [\n \"/test.jpg\",\n \"test1.jpg\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"errors": {
"paths": {
"index": [
"This field may not be blank."
]
}
}
}Authorizations
API key for authentication. Make sure to include the word apikey, followed by a single space and then your token.
Example: apikey 1234$abcdef
Path Parameters
CDN resource ID.
Body
application/json
Paths to files that should be pre-populated to the CDN.
Paths to the files should be specified without a domain name.
Example:
["/test.jpg", "test1.jpg"]
Response
Successful.
Was this page helpful?
⌘I