From 3df5fbf86692f2c5b45b17acbace3a6b6ff9e1c4 Mon Sep 17 00:00:00 2001 From: Stefan Aurori Date: Thu, 16 Dec 2021 13:17:37 -0500 Subject: [PATCH 1/3] Add documentation for routing Host introduced in 0.18.2 --- templates/en/docs/routing.md | 1 + templates/en/docs/routing/_hosts.md | 33 +++++++++++++++++++++++++++++ templates/fr/docs/routing.md | 1 + templates/fr/docs/routing/_hosts.md | 33 +++++++++++++++++++++++++++++ 4 files changed, 68 insertions(+) create mode 100644 templates/en/docs/routing/_hosts.md create mode 100644 templates/fr/docs/routing/_hosts.md diff --git a/templates/en/docs/routing.md b/templates/en/docs/routing.md index 96ee874ca..133a553c3 100644 --- a/templates/en/docs/routing.md +++ b/templates/en/docs/routing.md @@ -15,4 +15,5 @@ Buffalo uses the [github.com/gorilla/mux](http://www.gorillatoolkit.org/pkg/mux) <%= partial("en/docs/routing/params.md") %> <%= partial("en/docs/routing/named_params.md") %> <%= partial("en/docs/routing/groups.md") %> +<%= partial("en/docs/routing/hosts.md") %> <%= partial("en/docs/routing/mounting.md") %> diff --git a/templates/en/docs/routing/_hosts.md b/templates/en/docs/routing/_hosts.md new file mode 100644 index 000000000..957571f6c --- /dev/null +++ b/templates/en/docs/routing/_hosts.md @@ -0,0 +1,33 @@ +## Hosts + +<%= sinceVersion("0.18.2") %> + +Buffalo apps also support grouping of end-points by host. Host creates a new group that matches the domain passed. This is useful for creating groups of end-points for different domains or subdomains. + +```go +app := buffalo.New(buffalo.Options{ + Env: envy.Get("GO_ENV", "development"), + SessionName: "_coke_session", +}) + +app.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("Main App Homepage")) +}) + +subApp := app.Host("docs.domain.com") +subApp.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("docs.domain.com Homepage")) +}) + +domainApp := app.Host("example.com") +domainApp.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("example.com Homepage")) +}) +``` + +Variables mapped to parameters are also supported: + +```go +app.Host("{subdomain}.example.com") +app.Host("{subdomain:[a-z]+}.example.com") +``` diff --git a/templates/fr/docs/routing.md b/templates/fr/docs/routing.md index 746cccfcc..9d72317c3 100644 --- a/templates/fr/docs/routing.md +++ b/templates/fr/docs/routing.md @@ -15,4 +15,5 @@ Buffalo utilise le paquet [github.com/gorilla/mux](http://www.gorillatoolkit.org <%= partial("fr/docs/routing/params.md") %> <%= partial("fr/docs/routing/named_params.md") %> <%= partial("fr/docs/routing/groups.md") %> +<%= partial("fr/docs/routing/hosts.md") %> <%= partial("fr/docs/routing/mounting.md") %> diff --git a/templates/fr/docs/routing/_hosts.md b/templates/fr/docs/routing/_hosts.md new file mode 100644 index 000000000..b6ebb9442 --- /dev/null +++ b/templates/fr/docs/routing/_hosts.md @@ -0,0 +1,33 @@ +## Hôtes + +<%= sinceVersion("0.18.2") %> + +Buffalo prennent également en charge le regroupement des points de terminaison par hôte. L'hôte crée un nouveau groupe qui correspond au domaine transmis. Ceci est utile pour créer des groupes de points de terminaison pour différents domaines ou sous-domaines. + +```go +app := buffalo.New(buffalo.Options{ + Env: envy.Get("GO_ENV", "development"), + SessionName: "_coke_session", +}) + +app.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("Main App Homepage")) +}) + +subApp := app.Host("docs.domain.com") +subApp.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("docs.domain.com Homepage")) +}) + +domainApp := app.Host("example.com") +domainApp.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("example.com Homepage")) +}) +``` + +Les variables mappées aux paramètres sont également prises en charge: + +```go +app.Host("{subdomain}.example.com") +app.Host("{subdomain:[a-z]+}.example.com") +``` From ebad8fea8d9241c26e02deb6181a58843191f84f Mon Sep 17 00:00:00 2001 From: Stefan Aurori Date: Thu, 16 Dec 2021 14:17:05 -0500 Subject: [PATCH 2/3] Routing Host code example fix ordering --- templates/en/docs/routing/_hosts.md | 8 ++++---- templates/fr/docs/routing/_hosts.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/templates/en/docs/routing/_hosts.md b/templates/en/docs/routing/_hosts.md index 957571f6c..d3458c901 100644 --- a/templates/en/docs/routing/_hosts.md +++ b/templates/en/docs/routing/_hosts.md @@ -10,10 +10,6 @@ app := buffalo.New(buffalo.Options{ SessionName: "_coke_session", }) -app.GET("/", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.String("Main App Homepage")) -}) - subApp := app.Host("docs.domain.com") subApp.GET("/", func (c buffalo.Context) error { return c.Render(http.StatusOK, r.String("docs.domain.com Homepage")) @@ -23,6 +19,10 @@ domainApp := app.Host("example.com") domainApp.GET("/", func (c buffalo.Context) error { return c.Render(http.StatusOK, r.String("example.com Homepage")) }) + +app.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("Main App Homepage")) +}) ``` Variables mapped to parameters are also supported: diff --git a/templates/fr/docs/routing/_hosts.md b/templates/fr/docs/routing/_hosts.md index b6ebb9442..6419f4f92 100644 --- a/templates/fr/docs/routing/_hosts.md +++ b/templates/fr/docs/routing/_hosts.md @@ -10,10 +10,6 @@ app := buffalo.New(buffalo.Options{ SessionName: "_coke_session", }) -app.GET("/", func (c buffalo.Context) error { - return c.Render(http.StatusOK, r.String("Main App Homepage")) -}) - subApp := app.Host("docs.domain.com") subApp.GET("/", func (c buffalo.Context) error { return c.Render(http.StatusOK, r.String("docs.domain.com Homepage")) @@ -23,6 +19,10 @@ domainApp := app.Host("example.com") domainApp.GET("/", func (c buffalo.Context) error { return c.Render(http.StatusOK, r.String("example.com Homepage")) }) + +app.GET("/", func (c buffalo.Context) error { + return c.Render(http.StatusOK, r.String("Main App Homepage")) +}) ``` Les variables mappées aux paramètres sont également prises en charge: From d4b35fe13f94431f3aa51537735d4e1fd5d59348 Mon Sep 17 00:00:00 2001 From: Stefan Aurori Date: Tue, 21 Dec 2021 10:02:56 -0500 Subject: [PATCH 3/3] Routing Hosts documentation edits --- templates/en/docs/routing/_hosts.md | 2 +- templates/fr/docs/routing/_hosts.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/templates/en/docs/routing/_hosts.md b/templates/en/docs/routing/_hosts.md index d3458c901..f5c09e2dc 100644 --- a/templates/en/docs/routing/_hosts.md +++ b/templates/en/docs/routing/_hosts.md @@ -2,7 +2,7 @@ <%= sinceVersion("0.18.2") %> -Buffalo apps also support grouping of end-points by host. Host creates a new group that matches the domain passed. This is useful for creating groups of end-points for different domains or subdomains. +Buffalo apps also support grouping of end-points by host. `Host` creates a new group that matches the domain passed. This is useful for creating groups of end-points for different domains or subdomains. ```go app := buffalo.New(buffalo.Options{ diff --git a/templates/fr/docs/routing/_hosts.md b/templates/fr/docs/routing/_hosts.md index 6419f4f92..7fda22739 100644 --- a/templates/fr/docs/routing/_hosts.md +++ b/templates/fr/docs/routing/_hosts.md @@ -2,7 +2,7 @@ <%= sinceVersion("0.18.2") %> -Buffalo prennent également en charge le regroupement des points de terminaison par hôte. L'hôte crée un nouveau groupe qui correspond au domaine transmis. Ceci est utile pour créer des groupes de points de terminaison pour différents domaines ou sous-domaines. +Buffalo supporte également le regroupement d'APIs par domaine. La méthode `Host` crée un nouveau groupe pour le nom de domaine passé en paramètre, ce qui peut être une méthode pratique pour regrouper des APIs appartenant au même domaine (voire gérer plusieurs sous-domaines sur une même application). ```go app := buffalo.New(buffalo.Options{ @@ -25,7 +25,7 @@ app.GET("/", func (c buffalo.Context) error { }) ``` -Les variables mappées aux paramètres sont également prises en charge: +Les variables associéees aux paramètres sont également prises en charge : ```go app.Host("{subdomain}.example.com")