Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 9026dfa

Browse files
committedMar 13, 2025
feat(api): manual updates (#3970)
1 parent 970f7de commit 9026dfa

13 files changed

+2937
-2683
lines changed
 

‎api.md

+36-8
Original file line numberDiff line numberDiff line change
@@ -8188,16 +8188,44 @@ Methods:
81888188

81898189
# BrowserRendering
81908190

8191+
## Content
8192+
8193+
Methods:
8194+
8195+
- <code title="post /accounts/{accountId}/browser-rendering/content">client.BrowserRendering.Content.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ContentService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ContentNewParams">ContentNewParams</a>) (<a href="https://pkg.go.dev/builtin#string">string</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8196+
8197+
## PDF
8198+
8199+
Methods:
8200+
8201+
- <code title="post /accounts/{accountId}/browser-rendering/pdf">client.BrowserRendering.PDF.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#PDFService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#PDFNewParams">PDFNewParams</a>) (http.Response, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8202+
8203+
## Scrape
8204+
8205+
Response Types:
8206+
8207+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScrapeNewResponse">ScrapeNewResponse</a>
8208+
8209+
Methods:
8210+
8211+
- <code title="post /accounts/{accountId}/browser-rendering/scrape">client.BrowserRendering.Scrape.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScrapeService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScrapeNewParams">ScrapeNewParams</a>) ([]<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScrapeNewResponse">ScrapeNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8212+
8213+
## Screenshot
8214+
8215+
Response Types:
8216+
8217+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScreenshotNewResponse">ScreenshotNewResponse</a>
8218+
8219+
Methods:
8220+
8221+
- <code title="post /accounts/{accountId}/browser-rendering/screenshot">client.BrowserRendering.Screenshot.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScreenshotService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScreenshotNewParams">ScreenshotNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#ScreenshotNewResponse">ScreenshotNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8222+
8223+
## Snapshot
8224+
81918225
Response Types:
81928226

8193-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScrapeResponse">BrowserRenderingScrapeResponse</a>
8194-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScreenshotResponse">BrowserRenderingScreenshotResponse</a>
8195-
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingSnapshotResponse">BrowserRenderingSnapshotResponse</a>
8227+
- <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#SnapshotNewResponse">SnapshotNewResponse</a>
81968228

81978229
Methods:
81988230

8199-
- <code title="post /accounts/{accountId}/browser-rendering/content">client.BrowserRendering.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingService.Content">Content</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingContentParams">BrowserRenderingContentParams</a>) (<a href="https://pkg.go.dev/builtin#string">string</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8200-
- <code title="post /accounts/{accountId}/browser-rendering/pdf">client.BrowserRendering.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingService.PDF">PDF</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingPDFParams">BrowserRenderingPDFParams</a>) (http.Response, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8201-
- <code title="post /accounts/{accountId}/browser-rendering/scrape">client.BrowserRendering.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingService.Scrape">Scrape</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScrapeParams">BrowserRenderingScrapeParams</a>) ([]<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScrapeResponse">BrowserRenderingScrapeResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8202-
- <code title="post /accounts/{accountId}/browser-rendering/screenshot">client.BrowserRendering.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingService.Screenshot">Screenshot</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScreenshotParams">BrowserRenderingScreenshotParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingScreenshotResponse">BrowserRenderingScreenshotResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8203-
- <code title="post /accounts/{accountId}/browser-rendering/snapshot">client.BrowserRendering.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingService.Snapshot">Snapshot</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingSnapshotParams">BrowserRenderingSnapshotParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#BrowserRenderingSnapshotResponse">BrowserRenderingSnapshotResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>
8231+
- <code title="post /accounts/{accountId}/browser-rendering/snapshot">client.BrowserRendering.Snapshot.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#SnapshotService.New">New</a>(ctx <a href="https://pkg.go.dev/context">context</a>.<a href="https://pkg.go.dev/context#Context">Context</a>, accountID <a href="https://pkg.go.dev/builtin#string">string</a>, params <a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#SnapshotNewParams">SnapshotNewParams</a>) (<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering">browser_rendering</a>.<a href="https://pkg.go.dev/github.com/cloudflare/cloudflare-go/v4/browser_rendering#SnapshotNewResponse">SnapshotNewResponse</a>, <a href="https://pkg.go.dev/builtin#error">error</a>)</code>

‎browser_rendering/browserrendering.go

+11-2,157
Large diffs are not rendered by default.

‎browser_rendering/browserrendering_test.go

-518
This file was deleted.

‎browser_rendering/content.go

+439
Large diffs are not rendered by default.

‎browser_rendering/content_test.go

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
package browser_rendering_test
4+
5+
import (
6+
"context"
7+
"errors"
8+
"os"
9+
"testing"
10+
11+
"github.com/cloudflare/cloudflare-go/v4"
12+
"github.com/cloudflare/cloudflare-go/v4/browser_rendering"
13+
"github.com/cloudflare/cloudflare-go/v4/internal/testutil"
14+
"github.com/cloudflare/cloudflare-go/v4/option"
15+
)
16+
17+
func TestContentNewWithOptionalParams(t *testing.T) {
18+
baseURL := "http://localhost:4010"
19+
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
20+
baseURL = envURL
21+
}
22+
if !testutil.CheckTestServer(t, baseURL) {
23+
return
24+
}
25+
client := cloudflare.NewClient(
26+
option.WithBaseURL(baseURL),
27+
option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
28+
option.WithAPIEmail("user@example.com"),
29+
)
30+
_, err := client.BrowserRendering.Content.New(
31+
context.TODO(),
32+
"accountId",
33+
browser_rendering.ContentNewParams{
34+
CacheTTL: cloudflare.F(86400.000000),
35+
AddScriptTag: cloudflare.F([]browser_rendering.ContentNewParamsAddScriptTag{{
36+
ID: cloudflare.F("id"),
37+
Content: cloudflare.F("content"),
38+
Type: cloudflare.F("type"),
39+
URL: cloudflare.F("url"),
40+
}}),
41+
AddStyleTag: cloudflare.F([]browser_rendering.ContentNewParamsAddStyleTag{{
42+
Content: cloudflare.F("content"),
43+
URL: cloudflare.F("url"),
44+
}}),
45+
AllowRequestPattern: cloudflare.F([]string{"string"}),
46+
AllowResourceTypes: cloudflare.F([]browser_rendering.ContentNewParamsAllowResourceType{browser_rendering.ContentNewParamsAllowResourceTypeDocument}),
47+
Authenticate: cloudflare.F(browser_rendering.ContentNewParamsAuthenticate{
48+
Password: cloudflare.F("x"),
49+
Username: cloudflare.F("x"),
50+
}),
51+
BestAttempt: cloudflare.F(true),
52+
Cookies: cloudflare.F([]browser_rendering.ContentNewParamsCookie{{
53+
Name: cloudflare.F("name"),
54+
Value: cloudflare.F("value"),
55+
Domain: cloudflare.F("domain"),
56+
Expires: cloudflare.F(0.000000),
57+
HTTPOnly: cloudflare.F(true),
58+
PartitionKey: cloudflare.F("partitionKey"),
59+
Path: cloudflare.F("path"),
60+
Priority: cloudflare.F(browser_rendering.ContentNewParamsCookiesPriorityLow),
61+
SameParty: cloudflare.F(true),
62+
SameSite: cloudflare.F(browser_rendering.ContentNewParamsCookiesSameSiteStrict),
63+
Secure: cloudflare.F(true),
64+
SourcePort: cloudflare.F(0.000000),
65+
SourceScheme: cloudflare.F(browser_rendering.ContentNewParamsCookiesSourceSchemeUnset),
66+
URL: cloudflare.F("url"),
67+
}}),
68+
EmulateMediaType: cloudflare.F("emulateMediaType"),
69+
GotoOptions: cloudflare.F(browser_rendering.ContentNewParamsGotoOptions{
70+
Referer: cloudflare.F("referer"),
71+
ReferrerPolicy: cloudflare.F("referrerPolicy"),
72+
Timeout: cloudflare.F(60000.000000),
73+
WaitUntil: cloudflare.F[browser_rendering.ContentNewParamsGotoOptionsWaitUntilUnion](browser_rendering.ContentNewParamsGotoOptionsWaitUntilString(browser_rendering.ContentNewParamsGotoOptionsWaitUntilStringLoad)),
74+
}),
75+
HTML: cloudflare.F("x"),
76+
RejectRequestPattern: cloudflare.F([]string{"string"}),
77+
RejectResourceTypes: cloudflare.F([]browser_rendering.ContentNewParamsRejectResourceType{browser_rendering.ContentNewParamsRejectResourceTypeDocument}),
78+
SetExtraHTTPHeaders: cloudflare.F(map[string]string{
79+
"foo": "string",
80+
}),
81+
SetJavaScriptEnabled: cloudflare.F(true),
82+
URL: cloudflare.F("https://example.com"),
83+
UserAgent: cloudflare.F("userAgent"),
84+
Viewport: cloudflare.F(browser_rendering.ContentNewParamsViewport{
85+
Height: cloudflare.F(0.000000),
86+
Width: cloudflare.F(0.000000),
87+
DeviceScaleFactor: cloudflare.F(0.000000),
88+
HasTouch: cloudflare.F(true),
89+
IsLandscape: cloudflare.F(true),
90+
IsMobile: cloudflare.F(true),
91+
}),
92+
WaitForSelector: cloudflare.F(browser_rendering.ContentNewParamsWaitForSelector{
93+
Selector: cloudflare.F("selector"),
94+
Hidden: cloudflare.F(browser_rendering.ContentNewParamsWaitForSelectorHiddenTrue),
95+
Timeout: cloudflare.F(60000.000000),
96+
Visible: cloudflare.F(browser_rendering.ContentNewParamsWaitForSelectorVisibleTrue),
97+
}),
98+
WaitForTimeout: cloudflare.F(60000.000000),
99+
},
100+
)
101+
if err != nil {
102+
var apierr *cloudflare.Error
103+
if errors.As(err, &apierr) {
104+
t.Log(string(apierr.DumpRequest(true)))
105+
}
106+
t.Fatalf("err should be nil: %s", err.Error())
107+
}
108+
}

‎browser_rendering/pdf.go

+381
Large diffs are not rendered by default.

‎browser_rendering/pdf_test.go

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
package browser_rendering_test
4+
5+
import (
6+
"bytes"
7+
"context"
8+
"errors"
9+
"io"
10+
"net/http"
11+
"net/http/httptest"
12+
"testing"
13+
14+
"github.com/cloudflare/cloudflare-go/v4"
15+
"github.com/cloudflare/cloudflare-go/v4/browser_rendering"
16+
"github.com/cloudflare/cloudflare-go/v4/option"
17+
)
18+
19+
func TestPDFNewWithOptionalParams(t *testing.T) {
20+
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
21+
w.WriteHeader(200)
22+
w.Write([]byte("abc"))
23+
}))
24+
defer server.Close()
25+
baseURL := server.URL
26+
client := cloudflare.NewClient(
27+
option.WithBaseURL(baseURL),
28+
option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
29+
option.WithAPIEmail("user@example.com"),
30+
)
31+
resp, err := client.BrowserRendering.PDF.New(
32+
context.TODO(),
33+
"accountId",
34+
browser_rendering.PDFNewParams{
35+
CacheTTL: cloudflare.F(86400.000000),
36+
AddScriptTag: cloudflare.F([]browser_rendering.PDFNewParamsAddScriptTag{{
37+
ID: cloudflare.F("id"),
38+
Content: cloudflare.F("content"),
39+
Type: cloudflare.F("type"),
40+
URL: cloudflare.F("url"),
41+
}}),
42+
AddStyleTag: cloudflare.F([]browser_rendering.PDFNewParamsAddStyleTag{{
43+
Content: cloudflare.F("content"),
44+
URL: cloudflare.F("url"),
45+
}}),
46+
AllowRequestPattern: cloudflare.F([]string{"string"}),
47+
AllowResourceTypes: cloudflare.F([]browser_rendering.PDFNewParamsAllowResourceType{browser_rendering.PDFNewParamsAllowResourceTypeDocument}),
48+
Authenticate: cloudflare.F(browser_rendering.PDFNewParamsAuthenticate{
49+
Password: cloudflare.F("x"),
50+
Username: cloudflare.F("x"),
51+
}),
52+
BestAttempt: cloudflare.F(true),
53+
Cookies: cloudflare.F([]browser_rendering.PDFNewParamsCookie{{
54+
Name: cloudflare.F("name"),
55+
Value: cloudflare.F("value"),
56+
Domain: cloudflare.F("domain"),
57+
Expires: cloudflare.F(0.000000),
58+
HTTPOnly: cloudflare.F(true),
59+
PartitionKey: cloudflare.F("partitionKey"),
60+
Path: cloudflare.F("path"),
61+
Priority: cloudflare.F(browser_rendering.PDFNewParamsCookiesPriorityLow),
62+
SameParty: cloudflare.F(true),
63+
SameSite: cloudflare.F(browser_rendering.PDFNewParamsCookiesSameSiteStrict),
64+
Secure: cloudflare.F(true),
65+
SourcePort: cloudflare.F(0.000000),
66+
SourceScheme: cloudflare.F(browser_rendering.PDFNewParamsCookiesSourceSchemeUnset),
67+
URL: cloudflare.F("url"),
68+
}}),
69+
EmulateMediaType: cloudflare.F("emulateMediaType"),
70+
GotoOptions: cloudflare.F(browser_rendering.PDFNewParamsGotoOptions{
71+
Referer: cloudflare.F("referer"),
72+
ReferrerPolicy: cloudflare.F("referrerPolicy"),
73+
Timeout: cloudflare.F(60000.000000),
74+
WaitUntil: cloudflare.F[browser_rendering.PDFNewParamsGotoOptionsWaitUntilUnion](browser_rendering.PDFNewParamsGotoOptionsWaitUntilString(browser_rendering.PDFNewParamsGotoOptionsWaitUntilStringLoad)),
75+
}),
76+
HTML: cloudflare.F("x"),
77+
RejectRequestPattern: cloudflare.F([]string{"string"}),
78+
RejectResourceTypes: cloudflare.F([]browser_rendering.PDFNewParamsRejectResourceType{browser_rendering.PDFNewParamsRejectResourceTypeDocument}),
79+
SetExtraHTTPHeaders: cloudflare.F(map[string]string{
80+
"foo": "string",
81+
}),
82+
SetJavaScriptEnabled: cloudflare.F(true),
83+
URL: cloudflare.F("https://example.com"),
84+
UserAgent: cloudflare.F("userAgent"),
85+
Viewport: cloudflare.F(browser_rendering.PDFNewParamsViewport{
86+
Height: cloudflare.F(0.000000),
87+
Width: cloudflare.F(0.000000),
88+
DeviceScaleFactor: cloudflare.F(0.000000),
89+
HasTouch: cloudflare.F(true),
90+
IsLandscape: cloudflare.F(true),
91+
IsMobile: cloudflare.F(true),
92+
}),
93+
WaitForSelector: cloudflare.F(browser_rendering.PDFNewParamsWaitForSelector{
94+
Selector: cloudflare.F("selector"),
95+
Hidden: cloudflare.F(browser_rendering.PDFNewParamsWaitForSelectorHiddenTrue),
96+
Timeout: cloudflare.F(60000.000000),
97+
Visible: cloudflare.F(browser_rendering.PDFNewParamsWaitForSelectorVisibleTrue),
98+
}),
99+
WaitForTimeout: cloudflare.F(60000.000000),
100+
},
101+
)
102+
if err != nil {
103+
var apierr *cloudflare.Error
104+
if errors.As(err, &apierr) {
105+
t.Log(string(apierr.DumpRequest(true)))
106+
}
107+
t.Fatalf("err should be nil: %s", err.Error())
108+
}
109+
defer resp.Body.Close()
110+
111+
b, err := io.ReadAll(resp.Body)
112+
if err != nil {
113+
var apierr *cloudflare.Error
114+
if errors.As(err, &apierr) {
115+
t.Log(string(apierr.DumpRequest(true)))
116+
}
117+
t.Fatalf("err should be nil: %s", err.Error())
118+
}
119+
if !bytes.Equal(b, []byte("abc")) {
120+
t.Fatalf("return value not %s: %s", "abc", b)
121+
}
122+
}

‎browser_rendering/scrape.go

+534
Large diffs are not rendered by default.

‎browser_rendering/scrape_test.go

+111
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
package browser_rendering_test
4+
5+
import (
6+
"context"
7+
"errors"
8+
"os"
9+
"testing"
10+
11+
"github.com/cloudflare/cloudflare-go/v4"
12+
"github.com/cloudflare/cloudflare-go/v4/browser_rendering"
13+
"github.com/cloudflare/cloudflare-go/v4/internal/testutil"
14+
"github.com/cloudflare/cloudflare-go/v4/option"
15+
)
16+
17+
func TestScrapeNewWithOptionalParams(t *testing.T) {
18+
baseURL := "http://localhost:4010"
19+
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
20+
baseURL = envURL
21+
}
22+
if !testutil.CheckTestServer(t, baseURL) {
23+
return
24+
}
25+
client := cloudflare.NewClient(
26+
option.WithBaseURL(baseURL),
27+
option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
28+
option.WithAPIEmail("user@example.com"),
29+
)
30+
_, err := client.BrowserRendering.Scrape.New(
31+
context.TODO(),
32+
"accountId",
33+
browser_rendering.ScrapeNewParams{
34+
Elements: cloudflare.F([]browser_rendering.ScrapeNewParamsElement{{
35+
Selector: cloudflare.F("selector"),
36+
}}),
37+
CacheTTL: cloudflare.F(86400.000000),
38+
AddScriptTag: cloudflare.F([]browser_rendering.ScrapeNewParamsAddScriptTag{{
39+
ID: cloudflare.F("id"),
40+
Content: cloudflare.F("content"),
41+
Type: cloudflare.F("type"),
42+
URL: cloudflare.F("url"),
43+
}}),
44+
AddStyleTag: cloudflare.F([]browser_rendering.ScrapeNewParamsAddStyleTag{{
45+
Content: cloudflare.F("content"),
46+
URL: cloudflare.F("url"),
47+
}}),
48+
AllowRequestPattern: cloudflare.F([]string{"string"}),
49+
AllowResourceTypes: cloudflare.F([]browser_rendering.ScrapeNewParamsAllowResourceType{browser_rendering.ScrapeNewParamsAllowResourceTypeDocument}),
50+
Authenticate: cloudflare.F(browser_rendering.ScrapeNewParamsAuthenticate{
51+
Password: cloudflare.F("x"),
52+
Username: cloudflare.F("x"),
53+
}),
54+
BestAttempt: cloudflare.F(true),
55+
Cookies: cloudflare.F([]browser_rendering.ScrapeNewParamsCookie{{
56+
Name: cloudflare.F("name"),
57+
Value: cloudflare.F("value"),
58+
Domain: cloudflare.F("domain"),
59+
Expires: cloudflare.F(0.000000),
60+
HTTPOnly: cloudflare.F(true),
61+
PartitionKey: cloudflare.F("partitionKey"),
62+
Path: cloudflare.F("path"),
63+
Priority: cloudflare.F(browser_rendering.ScrapeNewParamsCookiesPriorityLow),
64+
SameParty: cloudflare.F(true),
65+
SameSite: cloudflare.F(browser_rendering.ScrapeNewParamsCookiesSameSiteStrict),
66+
Secure: cloudflare.F(true),
67+
SourcePort: cloudflare.F(0.000000),
68+
SourceScheme: cloudflare.F(browser_rendering.ScrapeNewParamsCookiesSourceSchemeUnset),
69+
URL: cloudflare.F("url"),
70+
}}),
71+
EmulateMediaType: cloudflare.F("emulateMediaType"),
72+
GotoOptions: cloudflare.F(browser_rendering.ScrapeNewParamsGotoOptions{
73+
Referer: cloudflare.F("referer"),
74+
ReferrerPolicy: cloudflare.F("referrerPolicy"),
75+
Timeout: cloudflare.F(60000.000000),
76+
WaitUntil: cloudflare.F[browser_rendering.ScrapeNewParamsGotoOptionsWaitUntilUnion](browser_rendering.ScrapeNewParamsGotoOptionsWaitUntilString(browser_rendering.ScrapeNewParamsGotoOptionsWaitUntilStringLoad)),
77+
}),
78+
HTML: cloudflare.F("x"),
79+
RejectRequestPattern: cloudflare.F([]string{"string"}),
80+
RejectResourceTypes: cloudflare.F([]browser_rendering.ScrapeNewParamsRejectResourceType{browser_rendering.ScrapeNewParamsRejectResourceTypeDocument}),
81+
SetExtraHTTPHeaders: cloudflare.F(map[string]string{
82+
"foo": "string",
83+
}),
84+
SetJavaScriptEnabled: cloudflare.F(true),
85+
URL: cloudflare.F("https://example.com"),
86+
UserAgent: cloudflare.F("userAgent"),
87+
Viewport: cloudflare.F(browser_rendering.ScrapeNewParamsViewport{
88+
Height: cloudflare.F(0.000000),
89+
Width: cloudflare.F(0.000000),
90+
DeviceScaleFactor: cloudflare.F(0.000000),
91+
HasTouch: cloudflare.F(true),
92+
IsLandscape: cloudflare.F(true),
93+
IsMobile: cloudflare.F(true),
94+
}),
95+
WaitForSelector: cloudflare.F(browser_rendering.ScrapeNewParamsWaitForSelector{
96+
Selector: cloudflare.F("selector"),
97+
Hidden: cloudflare.F(browser_rendering.ScrapeNewParamsWaitForSelectorHiddenTrue),
98+
Timeout: cloudflare.F(60000.000000),
99+
Visible: cloudflare.F(browser_rendering.ScrapeNewParamsWaitForSelectorVisibleTrue),
100+
}),
101+
WaitForTimeout: cloudflare.F(60000.000000),
102+
},
103+
)
104+
if err != nil {
105+
var apierr *cloudflare.Error
106+
if errors.As(err, &apierr) {
107+
t.Log(string(apierr.DumpRequest(true)))
108+
}
109+
t.Fatalf("err should be nil: %s", err.Error())
110+
}
111+
}

‎browser_rendering/screenshot.go

+496
Large diffs are not rendered by default.

‎browser_rendering/screenshot_test.go

+127
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,127 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
package browser_rendering_test
4+
5+
import (
6+
"context"
7+
"errors"
8+
"os"
9+
"testing"
10+
11+
"github.com/cloudflare/cloudflare-go/v4"
12+
"github.com/cloudflare/cloudflare-go/v4/browser_rendering"
13+
"github.com/cloudflare/cloudflare-go/v4/internal/testutil"
14+
"github.com/cloudflare/cloudflare-go/v4/option"
15+
)
16+
17+
func TestScreenshotNewWithOptionalParams(t *testing.T) {
18+
baseURL := "http://localhost:4010"
19+
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
20+
baseURL = envURL
21+
}
22+
if !testutil.CheckTestServer(t, baseURL) {
23+
return
24+
}
25+
client := cloudflare.NewClient(
26+
option.WithBaseURL(baseURL),
27+
option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
28+
option.WithAPIEmail("user@example.com"),
29+
)
30+
_, err := client.BrowserRendering.Screenshot.New(
31+
context.TODO(),
32+
"accountId",
33+
browser_rendering.ScreenshotNewParams{
34+
CacheTTL: cloudflare.F(86400.000000),
35+
AddScriptTag: cloudflare.F([]browser_rendering.ScreenshotNewParamsAddScriptTag{{
36+
ID: cloudflare.F("id"),
37+
Content: cloudflare.F("content"),
38+
Type: cloudflare.F("type"),
39+
URL: cloudflare.F("url"),
40+
}}),
41+
AddStyleTag: cloudflare.F([]browser_rendering.ScreenshotNewParamsAddStyleTag{{
42+
Content: cloudflare.F("content"),
43+
URL: cloudflare.F("url"),
44+
}}),
45+
AllowRequestPattern: cloudflare.F([]string{"string"}),
46+
AllowResourceTypes: cloudflare.F([]browser_rendering.ScreenshotNewParamsAllowResourceType{browser_rendering.ScreenshotNewParamsAllowResourceTypeDocument}),
47+
Authenticate: cloudflare.F(browser_rendering.ScreenshotNewParamsAuthenticate{
48+
Password: cloudflare.F("x"),
49+
Username: cloudflare.F("x"),
50+
}),
51+
BestAttempt: cloudflare.F(true),
52+
Cookies: cloudflare.F([]browser_rendering.ScreenshotNewParamsCookie{{
53+
Name: cloudflare.F("name"),
54+
Value: cloudflare.F("value"),
55+
Domain: cloudflare.F("domain"),
56+
Expires: cloudflare.F(0.000000),
57+
HTTPOnly: cloudflare.F(true),
58+
PartitionKey: cloudflare.F("partitionKey"),
59+
Path: cloudflare.F("path"),
60+
Priority: cloudflare.F(browser_rendering.ScreenshotNewParamsCookiesPriorityLow),
61+
SameParty: cloudflare.F(true),
62+
SameSite: cloudflare.F(browser_rendering.ScreenshotNewParamsCookiesSameSiteStrict),
63+
Secure: cloudflare.F(true),
64+
SourcePort: cloudflare.F(0.000000),
65+
SourceScheme: cloudflare.F(browser_rendering.ScreenshotNewParamsCookiesSourceSchemeUnset),
66+
URL: cloudflare.F("url"),
67+
}}),
68+
EmulateMediaType: cloudflare.F("emulateMediaType"),
69+
GotoOptions: cloudflare.F(browser_rendering.ScreenshotNewParamsGotoOptions{
70+
Referer: cloudflare.F("referer"),
71+
ReferrerPolicy: cloudflare.F("referrerPolicy"),
72+
Timeout: cloudflare.F(60000.000000),
73+
WaitUntil: cloudflare.F[browser_rendering.ScreenshotNewParamsGotoOptionsWaitUntilUnion](browser_rendering.ScreenshotNewParamsGotoOptionsWaitUntilString(browser_rendering.ScreenshotNewParamsGotoOptionsWaitUntilStringLoad)),
74+
}),
75+
HTML: cloudflare.F("x"),
76+
RejectRequestPattern: cloudflare.F([]string{"string"}),
77+
RejectResourceTypes: cloudflare.F([]browser_rendering.ScreenshotNewParamsRejectResourceType{browser_rendering.ScreenshotNewParamsRejectResourceTypeDocument}),
78+
ScreenshotOptions: cloudflare.F(browser_rendering.ScreenshotNewParamsScreenshotOptions{
79+
CaptureBeyondViewport: cloudflare.F(true),
80+
Clip: cloudflare.F(browser_rendering.ScreenshotNewParamsScreenshotOptionsClip{
81+
Height: cloudflare.F(0.000000),
82+
Width: cloudflare.F(0.000000),
83+
X: cloudflare.F(0.000000),
84+
Y: cloudflare.F(0.000000),
85+
Scale: cloudflare.F(0.000000),
86+
}),
87+
Encoding: cloudflare.F(browser_rendering.ScreenshotNewParamsScreenshotOptionsEncodingBinary),
88+
FromSurface: cloudflare.F(true),
89+
FullPage: cloudflare.F(true),
90+
OmitBackground: cloudflare.F(true),
91+
OptimizeForSpeed: cloudflare.F(true),
92+
Quality: cloudflare.F(0.000000),
93+
Type: cloudflare.F(browser_rendering.ScreenshotNewParamsScreenshotOptionsTypePNG),
94+
}),
95+
ScrollPage: cloudflare.F(true),
96+
Selector: cloudflare.F("selector"),
97+
SetExtraHTTPHeaders: cloudflare.F(map[string]string{
98+
"foo": "string",
99+
}),
100+
SetJavaScriptEnabled: cloudflare.F(true),
101+
URL: cloudflare.F("https://example.com"),
102+
UserAgent: cloudflare.F("userAgent"),
103+
Viewport: cloudflare.F(browser_rendering.ScreenshotNewParamsViewport{
104+
Height: cloudflare.F(0.000000),
105+
Width: cloudflare.F(0.000000),
106+
DeviceScaleFactor: cloudflare.F(0.000000),
107+
HasTouch: cloudflare.F(true),
108+
IsLandscape: cloudflare.F(true),
109+
IsMobile: cloudflare.F(true),
110+
}),
111+
WaitForSelector: cloudflare.F(browser_rendering.ScreenshotNewParamsWaitForSelector{
112+
Selector: cloudflare.F("selector"),
113+
Hidden: cloudflare.F(browser_rendering.ScreenshotNewParamsWaitForSelectorHiddenTrue),
114+
Timeout: cloudflare.F(60000.000000),
115+
Visible: cloudflare.F(browser_rendering.ScreenshotNewParamsWaitForSelectorVisibleTrue),
116+
}),
117+
WaitForTimeout: cloudflare.F(60000.000000),
118+
},
119+
)
120+
if err != nil {
121+
var apierr *cloudflare.Error
122+
if errors.As(err, &apierr) {
123+
t.Log(string(apierr.DumpRequest(true)))
124+
}
125+
t.Fatalf("err should be nil: %s", err.Error())
126+
}
127+
}

‎browser_rendering/snapshot.go

+464
Large diffs are not rendered by default.

‎browser_rendering/snapshot_test.go

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
// File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2+
3+
package browser_rendering_test
4+
5+
import (
6+
"context"
7+
"errors"
8+
"os"
9+
"testing"
10+
11+
"github.com/cloudflare/cloudflare-go/v4"
12+
"github.com/cloudflare/cloudflare-go/v4/browser_rendering"
13+
"github.com/cloudflare/cloudflare-go/v4/internal/testutil"
14+
"github.com/cloudflare/cloudflare-go/v4/option"
15+
)
16+
17+
func TestSnapshotNewWithOptionalParams(t *testing.T) {
18+
baseURL := "http://localhost:4010"
19+
if envURL, ok := os.LookupEnv("TEST_API_BASE_URL"); ok {
20+
baseURL = envURL
21+
}
22+
if !testutil.CheckTestServer(t, baseURL) {
23+
return
24+
}
25+
client := cloudflare.NewClient(
26+
option.WithBaseURL(baseURL),
27+
option.WithAPIKey("144c9defac04969c7bfad8efaa8ea194"),
28+
option.WithAPIEmail("user@example.com"),
29+
)
30+
_, err := client.BrowserRendering.Snapshot.New(
31+
context.TODO(),
32+
"accountId",
33+
browser_rendering.SnapshotNewParams{
34+
CacheTTL: cloudflare.F(86400.000000),
35+
AddScriptTag: cloudflare.F([]browser_rendering.SnapshotNewParamsAddScriptTag{{
36+
ID: cloudflare.F("id"),
37+
Content: cloudflare.F("content"),
38+
Type: cloudflare.F("type"),
39+
URL: cloudflare.F("url"),
40+
}}),
41+
AddStyleTag: cloudflare.F([]browser_rendering.SnapshotNewParamsAddStyleTag{{
42+
Content: cloudflare.F("content"),
43+
URL: cloudflare.F("url"),
44+
}}),
45+
AllowRequestPattern: cloudflare.F([]string{"string"}),
46+
AllowResourceTypes: cloudflare.F([]browser_rendering.SnapshotNewParamsAllowResourceType{browser_rendering.SnapshotNewParamsAllowResourceTypeDocument}),
47+
Authenticate: cloudflare.F(browser_rendering.SnapshotNewParamsAuthenticate{
48+
Password: cloudflare.F("x"),
49+
Username: cloudflare.F("x"),
50+
}),
51+
BestAttempt: cloudflare.F(true),
52+
Cookies: cloudflare.F([]browser_rendering.SnapshotNewParamsCookie{{
53+
Name: cloudflare.F("name"),
54+
Value: cloudflare.F("value"),
55+
Domain: cloudflare.F("domain"),
56+
Expires: cloudflare.F(0.000000),
57+
HTTPOnly: cloudflare.F(true),
58+
PartitionKey: cloudflare.F("partitionKey"),
59+
Path: cloudflare.F("path"),
60+
Priority: cloudflare.F(browser_rendering.SnapshotNewParamsCookiesPriorityLow),
61+
SameParty: cloudflare.F(true),
62+
SameSite: cloudflare.F(browser_rendering.SnapshotNewParamsCookiesSameSiteStrict),
63+
Secure: cloudflare.F(true),
64+
SourcePort: cloudflare.F(0.000000),
65+
SourceScheme: cloudflare.F(browser_rendering.SnapshotNewParamsCookiesSourceSchemeUnset),
66+
URL: cloudflare.F("url"),
67+
}}),
68+
EmulateMediaType: cloudflare.F("emulateMediaType"),
69+
GotoOptions: cloudflare.F(browser_rendering.SnapshotNewParamsGotoOptions{
70+
Referer: cloudflare.F("referer"),
71+
ReferrerPolicy: cloudflare.F("referrerPolicy"),
72+
Timeout: cloudflare.F(60000.000000),
73+
WaitUntil: cloudflare.F[browser_rendering.SnapshotNewParamsGotoOptionsWaitUntilUnion](browser_rendering.SnapshotNewParamsGotoOptionsWaitUntilString(browser_rendering.SnapshotNewParamsGotoOptionsWaitUntilStringLoad)),
74+
}),
75+
HTML: cloudflare.F("x"),
76+
RejectRequestPattern: cloudflare.F([]string{"string"}),
77+
RejectResourceTypes: cloudflare.F([]browser_rendering.SnapshotNewParamsRejectResourceType{browser_rendering.SnapshotNewParamsRejectResourceTypeDocument}),
78+
SetExtraHTTPHeaders: cloudflare.F(map[string]string{
79+
"foo": "string",
80+
}),
81+
SetJavaScriptEnabled: cloudflare.F(true),
82+
URL: cloudflare.F("https://example.com"),
83+
UserAgent: cloudflare.F("userAgent"),
84+
Viewport: cloudflare.F(browser_rendering.SnapshotNewParamsViewport{
85+
Height: cloudflare.F(0.000000),
86+
Width: cloudflare.F(0.000000),
87+
DeviceScaleFactor: cloudflare.F(0.000000),
88+
HasTouch: cloudflare.F(true),
89+
IsLandscape: cloudflare.F(true),
90+
IsMobile: cloudflare.F(true),
91+
}),
92+
WaitForSelector: cloudflare.F(browser_rendering.SnapshotNewParamsWaitForSelector{
93+
Selector: cloudflare.F("selector"),
94+
Hidden: cloudflare.F(browser_rendering.SnapshotNewParamsWaitForSelectorHiddenTrue),
95+
Timeout: cloudflare.F(60000.000000),
96+
Visible: cloudflare.F(browser_rendering.SnapshotNewParamsWaitForSelectorVisibleTrue),
97+
}),
98+
WaitForTimeout: cloudflare.F(60000.000000),
99+
},
100+
)
101+
if err != nil {
102+
var apierr *cloudflare.Error
103+
if errors.As(err, &apierr) {
104+
t.Log(string(apierr.DumpRequest(true)))
105+
}
106+
t.Fatalf("err should be nil: %s", err.Error())
107+
}
108+
}

0 commit comments

Comments
 (0)
Please sign in to comment.