本文整理汇总了Golang中github.com/pbberlin/tools/net/http/tplx.ExecTplHelper函数的典型用法代码示例。如果您正苦于以下问题:Golang ExecTplHelper函数的具体用法?Golang ExecTplHelper怎么用?Golang ExecTplHelper使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ExecTplHelper函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: runTestX
func runTestX(
w http.ResponseWriter,
r *http.Request,
f1 func() string,
f2 func(fsi.FileSystem) (*bytes.Buffer, string),
) {
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Run a test"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>\n")
defer wpf(w, "\n</pre>")
if f1 == nil {
f1 = dsfs.MountPointLast
}
mnt := f1()
fs := getFS(appengine.NewContext(r), mnt)
bb := new(bytes.Buffer)
msg := ""
wpf(bb, "created fs %v\n\n", mnt)
bb, msg = f2(fs)
w.Write([]byte(msg))
w.Write([]byte("\n\n"))
w.Write(bb.Bytes())
}
开发者ID:aarzilli,项目名称:tools,代码行数:28,代码来源:fs_tests.go
示例2: FetchHTML
// FetchHTML executes the fetch commands.
// It creates the configured filesystem and calls the fetcher.
func FetchHTML(w http.ResponseWriter, r *http.Request, fcs []FetchCommand) {
lg, lge := loghttp.Logger(w, r)
var err error
fs := GetFS(appengine.NewContext(r))
// fs = fsi.FileSystem(memMapFileSys)
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Requesting files"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>")
defer wpf(w, "</pre>")
err = fs.WriteFile(path.Join(docRoot, "msg.html"), msg, 0644)
lge(err)
// err = fs.WriteFile(path.Join(docRoot, "index.html"), []byte("content of index.html"), 0644)
// lge(err)
err = fs.MkdirAll(path.Join(docRoot, "testDirX/testDirY"), 0755)
lge(err)
for _, config := range fcs {
FetchUsingRSS(w, r, fs, config)
}
lg("fetching complete")
}
开发者ID:aarzilli,项目名称:tools,代码行数:32,代码来源:3_rcv_cmd.go
示例3: setFSType
func setFSType(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Set filesystem type"}))
defer wpf(w, tplx.Foot)
stp := r.FormValue("type")
newTp, err := strconv.Atoi(stp)
if err == nil && newTp >= 0 && newTp <= 2 {
whichType = newTp
wpf(w, "new type: %v<br><br>\n", whichType)
}
if whichType != 0 {
wpf(w, "<a href='%v?type=0' >dsfs</a><br>\n", UriSetFSType)
} else {
wpf(w, "<b>dsfs</b><br>\n")
}
if whichType != 1 {
wpf(w, "<a href='%v?type=1' >osfs</a><br>\n", UriSetFSType)
} else {
wpf(w, "<b>osfs</b><br>\n")
}
if whichType != 2 {
wpf(w, "<a href='%v?type=2' >memfs</a><br>\n", UriSetFSType)
} else {
wpf(w, "<b>memfs</b><br>\n")
}
}
开发者ID:aarzilli,项目名称:tools,代码行数:30,代码来源:fs_tests.go
示例4: HandleHomeVari
func HandleHomeVari(w http.ResponseWriter, r *http.Request, successLandingURL, signoutLandingURL string) {
format := `
<a href='%v?mode=select'>Signin with Redirect (Widget)</a><br><br>
<a href='%v'>Signin Success Landing</a><br><br>
<a href='%v'>Signout </a><br><br>
<a href='%v'>Signout Landing</a><br>
<a href='%v'>Branding for Account Chooser</a><br>
`
str := fmt.Sprintf(format,
WidgetSigninAuthorizedRedirectURL,
successLandingURL,
signOutURL,
signoutLandingURL,
accountChooserBrandingURL,
)
bstpl := tplx.TemplateFromHugoPage(w, r) // the jQuery irritates
fmt.Fprintf(w, tplx.ExecTplHelper(bstpl, map[string]interface{}{
"HtmlTitle": "Google Identity Toolkit Overview",
"HtmlDescription": "", // reminder
"HtmlContent": template.HTML(str),
}))
}
开发者ID:aarzilli,项目名称:tools,代码行数:29,代码来源:handlers.go
示例5: GetHomeTpl
func GetHomeTpl(w http.ResponseWriter, r *http.Request, title, body string) *template.Template {
if body == "" {
body = IDCardHTML + UserInfoHTML
}
lg, _ := loghttp.BuffLoggerUniversal(w, r)
bstpl := tplx.TemplateFromHugoPage(w, r)
b := new(bytes.Buffer)
fmt.Fprintf(b, tplx.ExecTplHelper(bstpl, map[string]interface{}{
// "HtmlTitle": "{{ .HtmlTitle }}", // this seems to cause problems sometimes.
"HtmlTitle": title,
"HtmlDescription": "", // reminder
"HtmlHeaders": template.HTML(Headers),
"HtmlContent": template.HTML(body),
}))
intHomeTemplate, err := template.New("home").Parse(b.String())
lg(err)
return intHomeTemplate
}
开发者ID:aarzilli,项目名称:tools,代码行数:26,代码来源:tpl_creation.go
示例6: resetMountPoint
func resetMountPoint(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Mountpoint reset"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>\n")
defer wpf(w, "\n</pre>")
wpf(w, "reset %v\n", dsfs.MountPointReset())
}
开发者ID:aarzilli,项目名称:tools,代码行数:11,代码来源:register_handlers.go
示例7: decrMountPoint
func decrMountPoint(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Mountpoint decrement"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>\n")
defer wpf(w, "\n</pre>")
wpf(w, "counted down %v\n", dsfs.MountPointDecr())
}
开发者ID:aarzilli,项目名称:tools,代码行数:11,代码来源:register_handlers.go
示例8: deleteAll
func deleteAll(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, _ := loghttp.BuffLoggerUniversal(w, r)
err := r.ParseForm()
lg(err)
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Delete all filesystem data"}))
defer wpf(w, tplx.Foot)
confirm := r.FormValue("confirm")
if confirm != "yes" {
wpf(w, "All dsfs contents are deletes. All memfs contents are deleted<br>\n")
wpf(w, "Put a get param into the URL ?confirm - and set it to 'yes'<br>\n")
wpf(w, "Put a get param 'mountname' into url; i.e. mountname=mntftch<br>\n")
return
}
wpf(w, "<pre>\n")
defer wpf(w, "\n</pre>")
//
//
fs := dsfs.New(
dsfs.AeContext(appengine.NewContext(r)),
)
mountName := r.FormValue("mountname")
if mountName != "" {
wpf(w, "mountame = "+mountName+"\n")
fs = dsfs.New(
dsfs.AeContext(appengine.NewContext(r)),
dsfs.MountName(mountName),
)
}
wpf(w, "dsfs:\n")
msg, err := fs.DeleteAll()
if err != nil {
wpf(w, "err during delete %v\n", err)
}
wpf(w, msg)
memMapFileSys = memfs.New()
wpf(w, "\n")
wpf(w, "memMapFs new")
// cleanup must be manual
osFileSys = osfs.New()
}
开发者ID:aarzilli,项目名称:tools,代码行数:51,代码来源:spec_ops.go
示例9: incrMountPoint
func incrMountPoint(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Mountpoint increment"}))
defer wpf(w, "\n</pre>")
wpf(w, "<pre>\n")
defer wpf(w, tplx.Foot)
xx := r.Header.Get("adapter_01")
wpf(w, "adapter set %q\n", xx)
wpf(w, "counted up %v\n", dsfs.MountPointIncr())
}
开发者ID:aarzilli,项目名称:tools,代码行数:14,代码来源:register_handlers.go
示例10: sendUpload
func sendUpload(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, _ := loghttp.Logger(w, r)
// c := appengine.NewContext(r)
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Post an Upload"}))
defer wpf(w, tplx.Foot)
tData := map[string]string{"Url": UrlUploadReceive}
err := tplBase.ExecuteTemplate(w, "tplName01", tData)
if err != nil {
lg("tpl did not compile: %v", err)
}
}
开发者ID:aarzilli,项目名称:tools,代码行数:15,代码来源:11_post_html_form.go
示例11: DeleteSubtree
func DeleteSubtree(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, lge := loghttp.Logger(w, r)
err := r.ParseForm()
lge(err)
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Delete Subtree for curr FS"}))
defer wpf(w, tplx.Foot)
if r.Method == "POST" {
wpf(w, "<pre>\n")
defer wpf(w, "\n</pre>")
mountPoint := dsfs.MountPointLast()
if len(r.FormValue("mountname")) > 0 {
mountPoint = r.FormValue("mountname")
}
lg("mount point is %v", mountPoint)
pathPrefix := "impossible-value"
if len(r.FormValue("pathprefix")) > 0 {
pathPrefix = r.FormValue("pathprefix")
}
lg("pathprefix is %v", pathPrefix)
fs := getFS(appengine.NewContext(r), mountPoint)
lg("created fs %v-%v ", fs.Name(), fs.String())
lg("removing %q - and its subtree ...", pathPrefix)
err := fs.RemoveAll(pathPrefix)
lge(err)
errMc := memcache.Flush(appengine.NewContext(r))
lge(errMc)
if err == nil && errMc == nil {
lg("success")
}
} else {
tData := map[string]string{"Url": UriDeleteSubtree}
err := tplBase.ExecuteTemplate(w, "tplName01", tData)
lge(err)
}
}
开发者ID:aarzilli,项目名称:tools,代码行数:48,代码来源:spec_ops.go
示例12: handleSignOutLanding
func handleSignOutLanding(w http.ResponseWriter, r *http.Request) {
format := `
Signed out<br>
<a href='%v'>Home</a><br>
`
str := fmt.Sprintf(format, homeURL)
bstpl := tplx.TemplateFromHugoPage(w, r) // the jQuery irritates
fmt.Fprintf(w, tplx.ExecTplHelper(bstpl, map[string]interface{}{
"HtmlTitle": "Google Identity Toolkit Overview",
"HtmlDescription": "", // reminder
"HtmlContent": template.HTML(str),
}))
}
开发者ID:aarzilli,项目名称:tools,代码行数:17,代码来源:handlers.go
示例13: staticFetchViaPosting2Receiver
// Submit test commands by http posting them.
func staticFetchViaPosting2Receiver(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, lge := loghttp.Logger(w, r)
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "JSON Post"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>")
defer wpf(w, "</pre>")
b, err := Post2Receiver(r, testCommands)
lge(err)
lg("msg from Post2Receiver:")
lg(b.String())
}
开发者ID:aarzilli,项目名称:tools,代码行数:18,代码来源:2_send_cmd.go
示例14: GetIDCardTpl
func GetIDCardTpl(w http.ResponseWriter, r *http.Request, u *User,
argSignoutURL string, argRedirectSuccess string) string {
b := new(bytes.Buffer)
if argRedirectSuccess != "" {
argRedirectSuccess = "?mode=select&user=wasNil&red=" + argRedirectSuccess
}
fmt.Fprintf(b, tplx.ExecTplHelper(IDCardHTML, map[string]interface{}{
"WidgetURL": WidgetSigninAuthorizedRedirectURL + argRedirectSuccess,
"SignOutURL": argSignoutURL,
"User": u,
// "CookieDump": template.HTML(htmlfrag.CookieDump(r)),
}))
return b.String()
}
开发者ID:aarzilli,项目名称:tools,代码行数:18,代码来源:tpl_creation.go
示例15: getHomeTpl
func getHomeTpl(w http.ResponseWriter, r *http.Request) *template.Template {
lg, _ := loghttp.BuffLoggerUniversal(w, r)
bstpl := tplx.TemplateFromHugoPage(w, r)
b := new(bytes.Buffer)
fmt.Fprintf(b, tplx.ExecTplHelper(bstpl, map[string]interface{}{
// "HtmlTitle": "{{ .HtmlTitle }}", // this seems to cause problems sometimes.
"HtmlTitle": "Member Area",
"HtmlDescription": "", // reminder
"HtmlHeaders": template.HTML(Headers),
"HtmlContent": template.HTML(home1 + "\n<br><br>\n" + home2),
}))
intHomeTemplate, err := template.New("home").Parse(b.String())
lg(err)
return intHomeTemplate
}
开发者ID:aarzilli,项目名称:tools,代码行数:22,代码来源:tpl_creation.go
示例16: GetWidgetTpl
func GetWidgetTpl(w http.ResponseWriter, r *http.Request, title string) *template.Template {
lg, _ := loghttp.BuffLoggerUniversal(w, r)
bstpl := tplx.TemplateFromHugoPage(w, r) // the jQuery irritates
// bstpl := tplx.HugoTplNoScript
b := new(bytes.Buffer)
fmt.Fprintf(b, tplx.ExecTplHelper(bstpl, map[string]interface{}{
// "HtmlTitle": "{{ .HtmlTitle }}", // it DOES cause some eternal loop. But why only here?
"HtmlTitle": title,
"HtmlDescription": "", // reminder
"HtmlHeaders": template.HTML(Headers),
"HtmlContent": template.HTML(widgetHTML),
}))
intGitkitTemplate, err := template.New("widg").Parse(b.String())
lg(err)
return intGitkitTemplate
}
开发者ID:aarzilli,项目名称:tools,代码行数:22,代码来源:tpl_creation.go
示例17: confirmPay
func confirmPay(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
/*
http://abc.de/ef?input_transaction_hash=46178baf7de078954b5aebb71c12120b33d998faac1c165af195eae90f19b25c&shared=false&address=18tpXf8WWuhJP95JbDASbZvavmZJbrydut&destination_address=18tpXf8WWuhJP95JbDASbZvavmZJbrydut&input_address=1ZTnjSdknZvur9Gc73gvB8XBTWL7nV1m6&test=true&anonymous=false&confirmations=0&value=82493362&transaction_hash=46178baf7de078954b5aebb71c12120b33d998faac1c165af195eae90f19b25c
*/
lg, b := loghttp.BuffLoggerUniversal(w, r)
closureOverBuf := func(bUnused *bytes.Buffer) {
loghttp.Pf(w, r, b.String())
}
defer closureOverBuf(b) // the argument is ignored,
r.Header.Set("X-Custom-Header-Counter", "nocounter")
wpf(b, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Payment confirmation"}))
defer wpf(b, tplx.Foot)
wpf(b, "<pre>")
defer wpf(b, "</pre>")
err := r.ParseForm()
lg(err)
custSecret := ""
if r.FormValue("customsecret") != "" {
custSecret = r.FormValue("customsecret")
}
lg("custom secret is %q", custSecret)
val := ""
if r.FormValue("value") != "" {
val = r.FormValue("value")
}
lg("value is %q", val)
}
开发者ID:aarzilli,项目名称:tools,代码行数:37,代码来源:blockchain.go
示例18: foscamWatch
func foscamWatch(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
htmlfrag.SetNocacheHeaders(w)
w.Header().Set("Content-Type", "text/html; charset=utf-8")
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Foscam live watch"}))
/*
There is no way to access a real video stream.
Thus we use this suggestion: http://foscam.us/forum/post43654.html#p43654
*/
str := `<img
width='640'
src="http://` + dns_cam + `/CGIProxy.fcgi?cmd=snapPicture2&usr=visitor&pwd=visitor&t="
onload='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 1000)'
onerror='setTimeout(function() {src = src.substring(0, (src.lastIndexOf("t=")+2))+(new Date()).getTime()}, 5000)'
alt='' />`
w.Write([]byte(str))
w.Write([]byte(tplx.Foot))
}
开发者ID:aarzilli,项目名称:tools,代码行数:24,代码来源:foscam.go
示例19: FetchSimilar
// FetchSimilar is an extended version of Fetch
// It is uses a DirTree of crawled *links*, not actual files.
// As it moves up the DOM, it crawls every document for additional links.
// It first moves up to find similar URLs on the same depth
// /\
// /\ / \
// /\ / \ / \
// It then moves up the ladder again - to accept higher URLs
// /\
// /\
// /\
func FetchSimilar(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, b := loghttp.BuffLoggerUniversal(w, r)
closureOverBuf := func(bUnused *bytes.Buffer) {
loghttp.Pf(w, r, b.String())
}
defer closureOverBuf(b) // the argument is ignored,
r.Header.Set("X-Custom-Header-Counter", "nocounter")
start := time.Now()
wpf(b, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Find similar HTML URLs"}))
defer wpf(b, tplx.Foot)
wpf(b, "<pre>")
defer wpf(b, "</pre>")
fs1 := GetFS(appengine.NewContext(r))
err := r.ParseForm()
lg(err)
countSimilar := 3
sCountSimilar := r.FormValue("cnt")
if sCountSimilar != "" {
i, err := strconv.Atoi(strings.TrimSpace(sCountSimilar))
if err == nil {
countSimilar = i
}
}
surl := r.FormValue(routes.URLParamKey)
ourl, err := fetch.URLFromString(surl)
lg(err)
if err != nil {
return
}
if ourl.Host == "" {
lg("host is empty (%v)", surl)
return
}
knownProtocol := ""
if r.FormValue("prot") != "" {
knownProtocol = r.FormValue("prot")
}
numWorkers := 0
sNumWorkers := r.FormValue("numworkers")
if sNumWorkers != "" {
i, err := strconv.Atoi(strings.TrimSpace(sNumWorkers))
if err == nil {
numWorkers = i
}
}
srcDepth := strings.Count(ourl.Path, "/")
cmd := FetchCommand{}
cmd.Host = ourl.Host
cmd.SearchPrefix = ourl.Path
cmd = addDefaults(cmd)
dirTree := &DirTree{Name: "/", Dirs: map[string]DirTree{}, EndPoint: true}
fnDigest := path.Join(docRoot, cmd.Host, "digest2.json")
loadDigest(w, r, lg, fs1, fnDigest, dirTree) // previous
lg("dirtree 400 chars is %v end of dirtree\t\t", stringspb.ToLen(dirTree.String(), 400))
m1 := new(MyWorker)
m1.r = r
m1.lg = lg
m1.fs1 = fs1
m1.SURL = path.Join(cmd.Host, ourl.Path)
m1.Protocol = knownProtocol
btsSrc, modSrc, usedExisting, err := fetchSave(m1)
if !usedExisting {
addAnchors(lg, cmd.Host, btsSrc, dirTree)
}
lg(err)
if err != nil {
return
}
lg("\t\t%4.2v secs so far 1", time.Now().Sub(start).Seconds())
var treePath string
treePath = "/blogs/freeexchange"
treePath = "/news/europe"
//.........这里部分代码省略.........
开发者ID:aarzilli,项目名称:tools,代码行数:101,代码来源:8_fetch_similar.go
示例20: receiveUpload
func receiveUpload(w http.ResponseWriter, r *http.Request, m map[string]interface{}) {
lg, _ := loghttp.Logger(w, r)
c := appengine.NewContext(r)
// parsing multipart before anything else
err := r.ParseMultipartForm(1024 * 1024 * 2)
if err != nil {
lg("Multipart parsing failed: %v", err)
return
}
wpf(w, tplx.ExecTplHelper(tplx.Head, map[string]interface{}{"HtmlTitle": "Receive an Upload"}))
defer wpf(w, tplx.Foot)
wpf(w, "<pre>")
defer wpf(w, "</pre>")
fields := []string{"getparam1", "mountname", "description"}
for _, v := range fields {
lg("%12v => %q", v, r.FormValue(v))
}
mountPoint := dsfs.MountPointLast()
if len(r.FormValue("mountname")) > 0 {
mountPoint = r.FormValue("mountname")
}
lg("mount point is %v", mountPoint)
fs1 := dsfs.New(
dsfs.MountName(mountPoint),
dsfs.AeContext(c),
)
// As closure, since we cannot define dsfs.dsFileSys as parameter
funcSave := func(argName string, data []byte) (error, *bytes.Buffer) {
b1 := new(bytes.Buffer)
fs1 := dsfs.New(
dsfs.MountName(mountPoint),
dsfs.AeContext(c),
)
dir, bname := fs1.SplitX(argName)
err := fs1.MkdirAll(dir, 0777)
wpf(b1, "mkdir %v - %v\n", dir, err)
if err != nil {
return err, b1
}
err = fs1.WriteFile(path.Join(dir, bname), data, 0777)
wpf(b1, "saved file content to %v - %v\n", argName, err)
return err, b1
}
ff := "filefield"
file, handler, err := r.FormFile(ff)
if err != nil {
lg("error calling FormFile from %q => %v", ff, err)
return
}
if handler == nil {
lg("no multipart file %q", ff)
} else {
lg("extracted file %v", handler.Filename)
data, err := ioutil.ReadAll(file)
if err != nil {
lg("ReadAll on uploaded file failed: %v", err)
return
}
defer file.Close()
lg("extracted file content; %v bytes", len(data))
newFilename := docRootDataStore + handler.Filename
ext := path.Ext(newFilename)
if ext == ".zip" {
lg("found zip - treat as dir-tree %q", newFilename)
r, err := zip.NewReader(file, int64(len(data)))
if err != nil {
lg("open as zip failed: %v", err)
return
}
for _, f := range r.File {
newFilename = docRootDataStore + f.Name
dir, bname := fs1.SplitX(newFilename)
if f.FileInfo().IsDir() {
lg("\t dir %s", newFilename)
//.........这里部分代码省略.........
开发者ID:aarzilli,项目名称:tools,代码行数:101,代码来源:2_receive.go
注:本文中的github.com/pbberlin/tools/net/http/tplx.ExecTplHelper函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论