From 23e186d46c534826295b8a6a856f38efa8aea535 Mon Sep 17 00:00:00 2001
From: Eric Bower <me@erock.io>
Date: Wed, 13 Jul 2022 23:34:54 -0400
Subject: [PATCH] chore: update wish

supply protocol from environment variable (http or https)
---
 go.mod             |  4 +++-
 go.sum             |  4 ++++
 internal/config.go | 10 ++++++----
 3 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/go.mod b/go.mod
index a74dab6..6f00044 100644
--- a/go.mod
+++ b/go.mod
@@ -2,8 +2,10 @@ module git.sr.ht/~erock/pastes.sh
 
 go 1.18
 
+// replace git.sr.ht/~erock/wish => /home/erock/pico/wish
+
 require (
-	git.sr.ht/~erock/wish v0.0.0-20220714031334-670ce9b92be6
+	git.sr.ht/~erock/wish v0.0.0-20220714033621-620d4ba1aa5d
 	github.com/alecthomas/chroma v0.10.0
 	github.com/charmbracelet/wish v0.5.0
 	github.com/gliderlabs/ssh v0.3.4
diff --git a/go.sum b/go.sum
index 876236a..3cc23b5 100644
--- a/go.sum
+++ b/go.sum
@@ -6,6 +6,10 @@ git.sr.ht/~erock/wish v0.0.0-20220714010731-7947bf10c388 h1:goL6fa09OPdg+LB2ceJG
 git.sr.ht/~erock/wish v0.0.0-20220714010731-7947bf10c388/go.mod h1:QZKk7m9jc9iXah90daPGhQkSfNfxSVvpb6nfVeI+MM0=
 git.sr.ht/~erock/wish v0.0.0-20220714031334-670ce9b92be6 h1:MXCqjuHgZ081oVyBb4JO6jMyKLA3HTsvOVJJBFF3L/Y=
 git.sr.ht/~erock/wish v0.0.0-20220714031334-670ce9b92be6/go.mod h1:QZKk7m9jc9iXah90daPGhQkSfNfxSVvpb6nfVeI+MM0=
+git.sr.ht/~erock/wish v0.0.0-20220714031736-47b0eaae6231 h1:o5oGYrwl3Qpug5DnjPa3+m/EsWhN2zZveYqHQVvbUe4=
+git.sr.ht/~erock/wish v0.0.0-20220714031736-47b0eaae6231/go.mod h1:QZKk7m9jc9iXah90daPGhQkSfNfxSVvpb6nfVeI+MM0=
+git.sr.ht/~erock/wish v0.0.0-20220714033621-620d4ba1aa5d h1:M/Ub98kMgfAZ/4jjbSLsc58TLqYGYzmMr0bxsSyUvgc=
+git.sr.ht/~erock/wish v0.0.0-20220714033621-620d4ba1aa5d/go.mod h1:QZKk7m9jc9iXah90daPGhQkSfNfxSVvpb6nfVeI+MM0=
 github.com/alecthomas/chroma v0.10.0 h1:7XDcGkCQopCNKjZHfYrNLraA+M7e0fMiJ/Mfikbfjek=
 github.com/alecthomas/chroma v0.10.0/go.mod h1:jtJATyUxlIORhUOFNA9NZDWGAQ8wpxQQqNSB4rjA/1s=
 github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8=
diff --git a/internal/config.go b/internal/config.go
index 5b91dd7..e73e9f2 100644
--- a/internal/config.go
+++ b/internal/config.go
@@ -28,6 +28,7 @@ func NewConfigSite() *ConfigSite {
 	subdomains := GetEnv("PASTES_SUBDOMAINS", "0")
 	port := GetEnv("PASTES_WEB_PORT", "3000")
 	dbURL := GetEnv("DATABASE_URL", "")
+	protocol := GetEnv("PASTES_PROTOCOL", "https")
 	subdomainsEnabled := false
 	if subdomains == "1" {
 		subdomainsEnabled = true
@@ -44,6 +45,7 @@ func NewConfigSite() *ConfigSite {
 		ConfigCms: config.ConfigCms{
 			Domain:      domain,
 			Port:        port,
+			Protocol:    protocol,
 			Email:       email,
 			DbURL:       dbURL,
 			Description: "a pastebin for hackers.",
@@ -63,7 +65,7 @@ func (c *ConfigSite) GetSiteData() *SitePageData {
 
 func (c *ConfigSite) BlogURL(username string) string {
 	if c.IsSubdomains() {
-		return fmt.Sprintf("//%s.%s", username, c.Domain)
+		return fmt.Sprintf("%s://%s.%s", c.Protocol, username, c.Domain)
 	}
 
 	return fmt.Sprintf("/%s", username)
@@ -72,7 +74,7 @@ func (c *ConfigSite) BlogURL(username string) string {
 func (c *ConfigSite) PostURL(username, filename string) string {
 	fname := url.PathEscape(filename)
 	if c.IsSubdomains() {
-		return fmt.Sprintf("//%s.%s/%s", username, c.Domain, fname)
+		return fmt.Sprintf("%s://%s.%s/%s", c.Protocol, username, c.Domain, fname)
 	}
 
 	return fmt.Sprintf("/%s/%s", username, fname)
@@ -84,7 +86,7 @@ func (c *ConfigSite) IsSubdomains() bool {
 
 func (c *ConfigSite) RssBlogURL(username string) string {
 	if c.IsSubdomains() {
-		return fmt.Sprintf("//%s.%s/rss", username, c.Domain)
+		return fmt.Sprintf("%s://%s.%s/rss", c.Protocol, username, c.Domain)
 	}
 
 	return fmt.Sprintf("/%s/rss", username)
@@ -100,7 +102,7 @@ func (c *ConfigSite) HomeURL() string {
 
 func (c *ConfigSite) ReadURL() string {
 	if c.IsSubdomains() {
-		return fmt.Sprintf("https://%s/read", c.Domain)
+		return fmt.Sprintf("%s://%s/read", c.Protocol, c.Domain)
 	}
 
 	return "/read"