Skip to content

Commit 65c0333

Browse files
adding fqdn config item to be used on the payment url building (#23)
1 parent 66822b9 commit 65c0333

File tree

4 files changed

+7
-1
lines changed

4 files changed

+7
-1
lines changed

config/config.go

+4
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
const (
1313
EnvServerPort = "server.port"
1414
EnvServerHost = "server.host"
15+
EnvServerFQDN = "server.fqdn"
1516
EnvServerSwaggerEnabled = "server.swagger.enabled"
1617
EnvEnvironment = "env.environment"
1718
EnvBitcoinNetwork = "env.bitcoin.network"
@@ -93,6 +94,9 @@ type Logging struct {
9394
type Server struct {
9495
Port string
9596
Hostname string
97+
// FQDN - fully qualified domain name, used to form the paymentRequest
98+
// payment URL as this may be different from the hostname + port.
99+
FQDN string
96100
// SwaggerEnabled if true we will include an endpoint to serve swagger documents.
97101
SwaggerEnabled bool
98102
}

config/defaults.go

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ func SetupDefaults() {
1313
// Web server defaults
1414
viper.SetDefault(EnvServerHost, "p4")
1515
viper.SetDefault(EnvServerPort, ":8445")
16+
viper.SetDefault(EnvServerFQDN, "p4:8445")
1617
viper.SetDefault(EnvServerSwaggerEnabled, true)
1718

1819
// Environment Defaults

config/viper.go

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ func (v *ViperConfig) WithServer() ConfigurationLoader {
2626
Port: viper.GetString(EnvServerPort),
2727
Hostname: viper.GetString(EnvServerHost),
2828
SwaggerEnabled: viper.GetBool(EnvServerSwaggerEnabled),
29+
FQDN: viper.GetString(EnvServerFQDN),
2930
}
3031
return v
3132
}

service/paymentrequest.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ func (p *paymentRequest) CreatePaymentRequest(ctx context.Context, args p4.Payme
5757
FeeRate: dests.Fees,
5858
CreationTimestamp: time.Now().UTC(),
5959
ExpirationTimestamp: time.Now().Add(24 * time.Hour).UTC(),
60-
PaymentURL: fmt.Sprintf("http://%s%s/api/v1/payment/%s", p.walletCfg.Hostname, "", args.PaymentID),
60+
PaymentURL: fmt.Sprintf("http://%s/api/v1/payment/%s", p.walletCfg.FQDN, args.PaymentID),
6161
Memo: fmt.Sprintf("invoice %s", args.PaymentID),
6262
MerchantData: &p4.MerchantData{
6363
AvatarURL: merchant.AvatarURL,

0 commit comments

Comments
 (0)