1
0
mirror of https://github.com/kataras/iris.git synced 2026-01-19 09:56:02 +00:00

give some more control over request params and their entries for the end-developers

Former-commit-id: 91362d3de5c63faf0d124e66747e40ad0df04fbb
This commit is contained in:
kataras
2017-11-23 12:30:13 +02:00
parent 56871ce4d7
commit 907ba28f84
10 changed files with 482 additions and 76 deletions

View File

@@ -182,9 +182,9 @@ func AssetNames() []string {
// _bindata is a table, holding each asset generator, mapped to its name.
var _bindata = map[string]func() (*asset, error){
"public/app.js": publicAppJs,
"public/app.js": publicAppJs,
"public/css/main.css": publicCssMainCss,
"public/index.html": publicIndexHtml,
"public/index.html": publicIndexHtml,
}
// AssetDir returns the file names below a certain
@@ -226,13 +226,14 @@ type bintree struct {
Func func() (*asset, error)
Children map[string]*bintree
}
var _bintree = &bintree{nil, map[string]*bintree{
"public": &bintree{nil, map[string]*bintree{
"app.js": &bintree{publicAppJs, map[string]*bintree{}},
"css": &bintree{nil, map[string]*bintree{
"main.css": &bintree{publicCssMainCss, map[string]*bintree{}},
"public": {nil, map[string]*bintree{
"app.js": {publicAppJs, map[string]*bintree{}},
"css": {nil, map[string]*bintree{
"main.css": {publicCssMainCss, map[string]*bintree{}},
}},
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
"index.html": {publicIndexHtml, map[string]*bintree{}},
}},
}}
@@ -282,4 +283,3 @@ func _filePath(dir, name string) string {
cannonicalName := strings.Replace(name, "\\", "/", -1)
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
}

View File

@@ -0,0 +1,128 @@
// This file is automatically generated by qtc from "base.qtpl".
// See https://github.com/valyala/quicktemplate for details.
// This is our templates' base implementation.
//
//line base.qtpl:3
package templates
//line base.qtpl:3
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line base.qtpl:3
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line base.qtpl:4
type Partial interface {
//line base.qtpl:4
Body() string
//line base.qtpl:4
StreamBody(qw422016 *qt422016.Writer)
//line base.qtpl:4
WriteBody(qq422016 qtio422016.Writer)
//line base.qtpl:4
}
// Template writes a template implementing the Partial interface.
//line base.qtpl:11
func StreamTemplate(qw422016 *qt422016.Writer, p Partial) {
//line base.qtpl:11
qw422016.N().S(`
<html>
<head>
<title>Quicktemplate integration with Iris</title>
</head>
<body>
<div>
Header contents here...
</div>
<div style="margin:10px;">
`)
//line base.qtpl:22
p.StreamBody(qw422016)
//line base.qtpl:22
qw422016.N().S(`
</div>
</body>
<footer>
Footer contents here...
</footer>
</html>
`)
//line base.qtpl:30
}
//line base.qtpl:30
func WriteTemplate(qq422016 qtio422016.Writer, p Partial) {
//line base.qtpl:30
qw422016 := qt422016.AcquireWriter(qq422016)
//line base.qtpl:30
StreamTemplate(qw422016, p)
//line base.qtpl:30
qt422016.ReleaseWriter(qw422016)
//line base.qtpl:30
}
//line base.qtpl:30
func Template(p Partial) string {
//line base.qtpl:30
qb422016 := qt422016.AcquireByteBuffer()
//line base.qtpl:30
WriteTemplate(qb422016, p)
//line base.qtpl:30
qs422016 := string(qb422016.B)
//line base.qtpl:30
qt422016.ReleaseByteBuffer(qb422016)
//line base.qtpl:30
return qs422016
//line base.qtpl:30
}
// Base template implementation. Other pages may inherit from it if they need
// overriding only certain Partial methods.
//line base.qtpl:35
type Base struct{}
//line base.qtpl:36
func (b *Base) StreamBody(qw422016 *qt422016.Writer) {
//line base.qtpl:36
qw422016.N().S(`This is the base body`) }
//line base.qtpl:36
//line base.qtpl:36
func (b *Base) WriteBody(qq422016 qtio422016.Writer) {
//line base.qtpl:36
qw422016 := qt422016.AcquireWriter(qq422016)
//line base.qtpl:36
b.StreamBody(qw422016)
//line base.qtpl:36
qt422016.ReleaseWriter(qw422016)
//line base.qtpl:36
}
//line base.qtpl:36
func (b *Base) Body() string {
//line base.qtpl:36
qb422016 := qt422016.AcquireByteBuffer()
//line base.qtpl:36
b.WriteBody(qb422016)
//line base.qtpl:36
qs422016 := string(qb422016.B)
//line base.qtpl:36
qt422016.ReleaseByteBuffer(qb422016)
//line base.qtpl:36
return qs422016
//line base.qtpl:36
}

View File

@@ -0,0 +1,72 @@
// This file is automatically generated by qtc from "hello.qtpl".
// See https://github.com/valyala/quicktemplate for details.
// Hello template, implements the Partial's methods.
//
//line hello.qtpl:3
package templates
//line hello.qtpl:3
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line hello.qtpl:3
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line hello.qtpl:4
type Hello struct {
Vars map[string]interface{}
}
//line hello.qtpl:9
func (h *Hello) StreamBody(qw422016 *qt422016.Writer) {
//line hello.qtpl:9
qw422016.N().S(`
<h1>`)
//line hello.qtpl:10
qw422016.E().V(h.Vars["message"])
//line hello.qtpl:10
qw422016.N().S(`</h1>
<div>
Hello <b>`)
//line hello.qtpl:12
qw422016.E().V(h.Vars["name"])
//line hello.qtpl:12
qw422016.N().S(`!</b>
</div>
`)
//line hello.qtpl:14
}
//line hello.qtpl:14
func (h *Hello) WriteBody(qq422016 qtio422016.Writer) {
//line hello.qtpl:14
qw422016 := qt422016.AcquireWriter(qq422016)
//line hello.qtpl:14
h.StreamBody(qw422016)
//line hello.qtpl:14
qt422016.ReleaseWriter(qw422016)
//line hello.qtpl:14
}
//line hello.qtpl:14
func (h *Hello) Body() string {
//line hello.qtpl:14
qb422016 := qt422016.AcquireByteBuffer()
//line hello.qtpl:14
h.WriteBody(qb422016)
//line hello.qtpl:14
qs422016 := string(qb422016.B)
//line hello.qtpl:14
qt422016.ReleaseByteBuffer(qb422016)
//line hello.qtpl:14
return qs422016
//line hello.qtpl:14
}

View File

@@ -0,0 +1,62 @@
// This file is automatically generated by qtc from "index.qtpl".
// See https://github.com/valyala/quicktemplate for details.
// Index template, implements the Partial's methods.
//
//line index.qtpl:3
package templates
//line index.qtpl:3
import (
qtio422016 "io"
qt422016 "github.com/valyala/quicktemplate"
)
//line index.qtpl:3
var (
_ = qtio422016.Copy
_ = qt422016.AcquireByteBuffer
)
//line index.qtpl:4
type Index struct{}
//line index.qtpl:7
func (i *Index) StreamBody(qw422016 *qt422016.Writer) {
//line index.qtpl:7
qw422016.N().S(`
<h1>Index Page</h1>
<div>
This is our index page's body.
</div>
`)
//line index.qtpl:12
}
//line index.qtpl:12
func (i *Index) WriteBody(qq422016 qtio422016.Writer) {
//line index.qtpl:12
qw422016 := qt422016.AcquireWriter(qq422016)
//line index.qtpl:12
i.StreamBody(qw422016)
//line index.qtpl:12
qt422016.ReleaseWriter(qw422016)
//line index.qtpl:12
}
//line index.qtpl:12
func (i *Index) Body() string {
//line index.qtpl:12
qb422016 := qt422016.AcquireByteBuffer()
//line index.qtpl:12
i.WriteBody(qb422016)
//line index.qtpl:12
qs422016 := string(qb422016.B)
//line index.qtpl:12
qt422016.ReleaseByteBuffer(qb422016)
//line index.qtpl:12
return qs422016
//line index.qtpl:12
}

View File

@@ -6,9 +6,14 @@ import (
"github.com/kataras/iris/_examples/structuring/bootstrap/routes"
)
func main() {
func newApp() *bootstrap.Bootstrapper {
app := bootstrap.New("Awesome App", "kataras2006@hotmail.com")
app.Bootstrap()
app.Configure(identity.Configure, routes.Configure)
return app
}
func main() {
app := newApp()
app.Listen(":8080")
}

View File

@@ -8,6 +8,7 @@ import (
// go test -v
func TestApp(t *testing.T) {
app := newApp()
e := httptest.New(t, app.Application)
// test our routes

View File

@@ -77,7 +77,7 @@ func main() {
go func() {
i := 0
for range time.Tick(1*time.Second){ //another way to get clock signal
for range time.Tick(1 * time.Second) { //another way to get clock signal
mutex.Lock()
broadcast(Conn, fmt.Sprintf("aaaa2 %d\n", i))
mutex.Unlock()