forked from thecodingmachine/gotenberg-go-client
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhtml.go
44 lines (37 loc) · 972 Bytes
/
html.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package gotenberg
// HTMLRequest facilitates HTML conversion
// with the Gotenberg API.
type HTMLRequest struct {
index Document
assets []Document
*chromeRequest
}
// NewHTMLRequest create HTMLRequest.
func NewHTMLRequest(index Document) *HTMLRequest {
return &HTMLRequest{index, []Document{}, newChromeRequest()}
}
// Assets sets assets form files.
func (req *HTMLRequest) Assets(assets ...Document) {
req.assets = assets
}
func (req *HTMLRequest) postURL() string {
return "/forms/chromium/convert/html"
}
func (req *HTMLRequest) formFiles() map[string]Document {
files := make(map[string]Document)
files["index.html"] = req.index
if req.header != nil {
files["header.html"] = req.header
}
if req.footer != nil {
files["footer.html"] = req.footer
}
for _, asset := range req.assets {
files[asset.Filename()] = asset
}
return files
}
// Compile-time checks to ensure type implements desired interfaces.
var (
_ = Request(new(HTMLRequest))
)