Merge branch 'master' into v12

Former-commit-id: 50fae564bda3607f4f4208fdcb72f835c1751a1e
This commit is contained in:
Gerasimos (Makis) Maropoulos 2019-11-13 19:19:33 +02:00
commit 6d60a65339
3 changed files with 12 additions and 8 deletions

View File

@ -15,7 +15,8 @@ func newApp() *iris.Application {
// app.HandleDir("/css", "./assets/css")
// app.HandleDir("/js", "./assets/js")
app.HandleDir("/static", "./assets", iris.DirOptions{
v1 := app.Party("/v1")
v1.HandleDir("/static", "./assets", iris.DirOptions{
// Defaults to "/index.html", if request path is ending with **/*/$IndexName
// then it redirects to **/*(/) which another handler is handling it,
// that another handler, called index handler, is auto-registered by the framework
@ -33,15 +34,15 @@ func newApp() *iris.Application {
})
// You can also register any index handler manually, order of registration does not matter:
// app.Get("/static", [...custom middleware...], func(ctx iris.Context) {
// v1.Get("/static", [...custom middleware...], func(ctx iris.Context) {
// [...custom code...]
// ctx.ServeFile("./assets/index.html", false)
// })
// http://localhost:8080/static
// http://localhost:8080/static/css/main.css
// http://localhost:8080/static/js/jquery-2.1.1.js
// http://localhost:8080/static/favicon.ico
// http://localhost:8080/v1/static
// http://localhost:8080/v1/static/css/main.css
// http://localhost:8080/v1/static/js/jquery-2.1.1.js
// http://localhost:8080/v1/static/favicon.ico
return app
}

View File

@ -9,6 +9,8 @@ import (
"github.com/kataras/iris/v12/httptest"
)
const prefixURL = "/v1"
type resource string
func (r resource) contentType() string {
@ -85,7 +87,7 @@ func TestFileServerBasic(t *testing.T) {
url := u.String()
contents := u.loadFromBase("./assets")
e.GET(url).Expect().
e.GET(prefixURL+url).Expect().
Status(httptest.StatusOK).
ContentType(u.contentType(), app.ConfigurationReadOnly().GetCharset()).
Body().Equal(contents)

View File

@ -485,7 +485,8 @@ func (api *APIBuilder) HandleDir(requestPath, directory string, opts ...DirOptio
continue
}
routes = append(routes, api.createRoutes([]string{http.MethodGet}, s.RequestPath, h)...)
requestPath := s.RequestPath[strings.Index(s.RequestPath, api.relativePath)+len(api.relativePath):]
routes = append(routes, api.createRoutes([]string{http.MethodGet}, requestPath, h)...)
getRoute.StaticSites = append(getRoute.StaticSites, s)
}