Skip to content

Commit

Permalink
epik: add User-Agent (#2290)
Browse files Browse the repository at this point in the history
  • Loading branch information
ldez authored Oct 4, 2024
1 parent 85b5ef4 commit 748e4c0
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 3 deletions.
2 changes: 1 addition & 1 deletion docs/content/dns/zz_gen_epik.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ More information [here]({{% ref "dns#configuration-and-credentials" %}}).

## More information

- [API documentation](https://docs.userapi.epik.com/v2/#/)
- [API documentation](https://docs-userapi.epik.com/v2/)

<!-- THIS DOCUMENTATION IS AUTO-GENERATED. PLEASE DO NOT EDIT. -->
<!-- providers/dns/epik/epik.toml -->
Expand Down
2 changes: 1 addition & 1 deletion docs/data/zz_cli_help.toml
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ GLOBAL OPTIONS:
--dns value Solve a DNS-01 challenge using the specified provider. Can be mixed with other types of challenges. Run 'lego dnshelp' for help on usage.
--dns.disable-cp (deprecated) use dns.propagation-disable-ans instead. (default: false)
--dns.propagation-disable-ans By setting this flag to true, disables the need to await propagation of the TXT record to all authoritative name servers. (default: false)
--dns.propagation-rns By setting this flag, use all the recursive nameservers to check the propagation of the TXT record. (default: false)
--dns.propagation-rns By setting this flag to true, use all the recursive nameservers to check the propagation of the TXT record. (default: false)
--dns.propagation-wait value By setting this flag, disables all the propagation checks of the TXT record and uses a wait duration instead. (default: 0s)
--dns.resolvers value [ --dns.resolvers value ] Set the resolvers to use for performing (recursive) CNAME resolving and apex domain determination. For DNS-01 challenge verification, the authoritative DNS server is queried directly. Supported: host:port. The default is to use the system resolvers, or Google's DNS resolvers if the system's cannot be determined.
--http-timeout value Set the HTTP timeout value to a specific value in seconds. (default: 0)
Expand Down
2 changes: 1 addition & 1 deletion providers/dns/epik/epik.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ lego --email you@example.com --dns epik --domains my.example.org run
EPIK_HTTP_TIMEOUT = "API request timeout"

[Links]
API = "https://docs.userapi.epik.com/v2/#/"
API = "https://docs-userapi.epik.com/v2/"
6 changes: 6 additions & 0 deletions providers/dns/epik/internal/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ import (

const defaultBaseURL = "https://usersapiv2.epik.com/v2"

// The API server don't support User-Agent starting with `go-`, then this User-Agent is different from the other implementation.
// https://github.com/go-acme/lego/issues/2268#issuecomment-2394007004
const defaultUserAgent = "goacme/lego"

// Client the Epik API client.
type Client struct {
signature string
Expand Down Expand Up @@ -97,6 +101,8 @@ func (c Client) RemoveHostRecord(ctx context.Context, domain string, recordID st
}

func (c Client) do(req *http.Request, result any) error {
req.Header.Set("User-Agent", defaultUserAgent)

resp, err := c.HTTPClient.Do(req)
if err != nil {
return errutils.NewHTTPDoError(req, err)
Expand Down

0 comments on commit 748e4c0

Please sign in to comment.