diff options
Diffstat (limited to 'walrss/internal/urls/urls.go')
| -rw-r--r-- | walrss/internal/urls/urls.go | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/walrss/internal/urls/urls.go b/walrss/internal/urls/urls.go index bd3d878..a5dd782 100644 --- a/walrss/internal/urls/urls.go +++ b/walrss/internal/urls/urls.go @@ -1,5 +1,10 @@ package urls +import ( + "fmt" + "strings" +) + const ( Index = "/" @@ -7,7 +12,25 @@ const ( AuthSignIn = Auth + "/signin" AuthRegister = Auth + "/register" - Edit = "/edit" - EditEnabledState = Edit + "/enabled" - EditTimings = Edit + "/timings" + Edit = "/edit" + EditEnabledState = Edit + "/enabled" + EditTimings = Edit + "/timings" + EditFeedItem = Edit + "/feed/:id" + CancelEditFeedItem = Edit + "/feed/:id/cancel" + + New = "/new" + NewFeedItem = New + "/feed" ) + +func Expand(template string, replacements ...interface{}) string { + spt := strings.Split(template, "/") + for i, part := range spt { + if len(part) == 0 { + continue + } + if part[0] == ':' { + spt[i] = "%s" + } + } + return fmt.Sprintf(strings.Join(spt, "/"), replacements...) +} |
