问题标签 [gorilla]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - 'PathPrefix' 如何在 Go 的 'gorilla.mux' 库中工作?
我正在玩gorilla.mux
Go 的库。我有以下配置,但我无法弄清楚到达该HelloWorldXml
方法的 URL。
正确的 URL 是什么? http://localhost:8787/products/MyName.xml
返回 404。
go - 如何将 gorilla mux 与 http.TimeoutHandler 一起使用
在用 go 编写的 HTTP 服务器中,我使用gorilla/mux进行路由,
我想使用http.TimeoutHandler
(和/或其他“中间件”),但我不明白我可以在哪里安装它们。
说清楚:
- 我创建了一个新的路由器
gorillaMux := mux.NewRouter()
- 通过像这样的电话添加我的路线
gorillaMux.HandleFunc("/", rootHandler)
server := &http.Server{Addr:":1234"}
我通过and创建服务器server.ListenAndServe()
我可以在哪里插入http.TimeoutHandler
或任何其他中间件?
session - Golang gorilla 会话在重定向后保留表单数据
从逻辑的角度来看,我试图在重定向之间保留部分表单数据以获得更好的用户体验,这样用户就不必再次填写整个表单,只需填写无效的部分即可。
从编程的角度来看,我正在尝试将 request.PostForm 数据结构保存在 gorilla session 的 flash 中。重定向后我唯一设法检索的是内存地址的字符串表示形式,例如 [0xc2001c8b10]。
这是验证错误后我保存闪存数据的部分(在此之前执行了 request.ParseForm() ):
我也尝试用 gob 注册结构但没有效果:
表单值是小写的,例如。“first_name”,“last_name”,如果这可能对此行为产生任何影响。
请记住,我在重定向后成功地检索了“消息”,我唯一的问题是结构数据。
我做错了什么,或者是否有另一种方法可以在我不知道的重定向后填写部分表单?
go - gorilla/context 与 gorilla/sessions 有何不同?
我得到会话,来自我曾经使用过的 PHP
在服务器端设置一个或多个键及其值,并能够检索或覆盖它,直到会话到期。
与大猩猩/会话相同
现在我不明白大猩猩/上下文的意义是什么。我知道上下文是什么,但是...我不知道它如何适应大局。它说它绑定到当前请求。stackoverflow 上的另一个问题是在编写 Per-Handler Middleware的上下文中“仅使用 gorilla/context 就足够了” 。
但如果它是请求绑定... err.. 语法错误,则不计算。如果鸭子漂浮在水面上,那么女巫是用木头制成的。而且因为鸭子也能浮在水面上,如果她的体重和鸭子一样,她一定是个女巫。或类似的东西 ;)
当它是请求绑定的时候,它作为一个中间件“管理器”怎么能有用,我不能在全局范围内设置它。您能否举例说明如何将 gorilla/sessions 与 gorilla/context 一起使用?
go - 在一个 go 程序中同时运行两个 Web 服务器
在一个 go 程序中,我想同时运行两个 Web 服务器,
显然它们将在两个不同的端口(以及必要时
的 IP 地址)上提供服务,问题出在调用http.handle
,当我尝试为 ' 注册处理程序时/' 对于第二个服务器,它恐慌并说已经有一个与'/'关联的处理程序,
我想我需要创建一个多路复用器,DefaultServeMux
我尝试使用它gorillaMux
但无法弄清楚,
在同一个程序/进程中运行两个 Web 服务器是否存在根本性错误。
更清楚地说,两个 Web 服务器中的一个用作常规 Web 服务器,我需要第二个用作 RPC 服务器,以便在集群的不同节点上运行的程序实例之间进行通信,
编辑:为了更清楚一点,这不是实际代码,而是要点
go - Golang Gorilla mux 与 http.FileServer 返回 404
我看到的问题是我正在尝试使用http.FileServer
Gorilla mux Router.Handle 函数。
这不起作用(图像返回 404)..
这有效(图像显示正常)..
下面简单的go web server程序,显示问题...
go - Golang 大猩猩/会话
我正在尝试使用用户登录构建一个简单的 Web 应用程序。
我在这里的另一篇文章中找到了这个功能。
cookie 之后过期10 seconds
,但是当我重新加载页面后,例如1 Minute
它使用旧的(过期的)cookie。
在我的浏览器 (Firefox) 中,我看到了具有正确过期日期的 cookie。
我认为它应该使用新的 cookie 创建一个新会话,或者它是错误的?
有小费吗 ?
session - 使用 gorilla 会话时未保存 golang 中的会话变量
使用 gorilla 会话 Web 工具包时,不会跨请求维护会话变量。当我启动服务器并键入 localhost:8100/ 时,页面被定向到 login.html,因为会话值不存在。登录后,我在商店中设置会话变量,页面被重定向到 home.html。但是,当我打开一个新选项卡并键入 localhost:8100/ 时,该页面应该使用已存储的会话变量定向到 home.html,但该页面改为重定向到 login.html。以下是代码。
有人可以告诉我我做错了什么。提前致谢。
go - 使用 Gorilla 会话自定义后端有什么优势?
我想使用 Redis 进行会话管理。
但是我无法弄清楚使用 Redis 作为 Gorilla 会话包的自定义后端相比直接使用它有什么优势?