问题标签 [martini]

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.

0 投票
0 回答
760 浏览

go - golang中带有马提尼酒的html模板

我对 go、martini 以及 martini 如何与模板一起使用有疑问。

如果我在 index.tmpl 中使用以下代码:

// 字幕有效,.Tmpl 有效,并将 subIndex 视为字符串)

如果我在 index.tmpl 中使用以下代码:

我在模板调用中收到错误“Tmpl”相同的错误消息

subIndex.tmpl 很简单

我已经用 go build 构建了程序,并盯着它,当我用 localhost:3000 打开浏览器时,我遇到了我提到的错误。

我错过了什么?

0 投票
1 回答
1490 浏览

go - 如何在 go 中使用 martini 测试反向代理

我正在为在 go 中作为反向代理工作的 martini 应用程序编写测试代码,并想使用 测试它httptest.ResponseRecorder,但出现以下错误。

httptest.ResponseRecorder没有方法CloseNotify()

我应该如何测试它?

0 投票
1 回答
242 浏览

go - 马提尼中处理程序的调用顺序是什么?

关于 golang 马提尼

  • 我们可以使用 m.Use() 添加中间件。当然,“中间件处理程序按添加顺序调用”。
  • 此外,还可以通过路由器添加处理程序,如 r.Get("/", handler)。
  • 有时,我们还需要在路由器处理程序之后调用处理程序。那是在将某些内容写入 ResponseWriter 之前调用处理程序。

那么,如何排列这些处理程序的呈现顺序呢?我无法得到解决方案是马提尼的文件。

0 投票
1 回答
67 浏览

go - 主包文件中的路由方法未定义

我的代码如下所示:

应用程序.go

main.go

但不知何故,当我运行代码时,它给了我以下错误:

./app.go:16:17: undefined: getBooks ./app.go:17:18: undefined: newBook ./app.go:18:24: undefined: updateBook ./app.go:19:27: undefined: deleteBook

那么有没有办法解决这个问题呢?

项目结构如下:

0 投票
1 回答
53 浏览

go - 使用 Martini 中间件,如果响应代码大于 399,则记录错误

如果我的服务器处理请求并将响应代码写入大于 399,我想记录错误跟踪:

给定状态码,有没有办法读取响应?如果我们将错误发送回客户端,我如何拦截错误消息并记录它?

0 投票
1 回答
140 浏览

go - 如何破解马提尼中间件

简而言之,如果我为 an 运行一些中间件http.Request并确定该请求应该得到 HTTP 422,我如何才能“突破”中间件链,并在不调用链中所有中间件函数的情况下提前返回?

例如,如果我有这个:

如果我调用return上述任何中间件资金,据我所知,它仍然会调用链中注册的所有中间件资金,因此ctr.GetMany总是会调用它。

有没有办法让请求/响应完成并告诉马提尼停止调用链中的所有函数?

如果第一个返回值是一个整数,我猜 martini 假设它是一个状态码。我目前最好的猜测是根据文档: https ://github.com/go-martini/martini#middleware-handlers

我们可以使用这个:

如果不满足条件,我们就永远不能打电话c.Next()

0 投票
0 回答
78 浏览

middleware - 如何将旧的中间件 func 转换为新的中间件 func

我有这个现有的库调用:

我们曾经使用 Martini,但由于 Martini 不再维护,我们正在更新到 Mux。旧的 Martini 路由器这样称呼它:

但我需要为 mux 中间件更新它,如下所示:

上面的“似乎是正确的”,但我真的不确定。如果能够检查 的返回值,fun()看看我是否应该继续调用剩余的中间件,那就太好了。这是一个我不知道如何用 golang 解决的缺陷。

0 投票
0 回答
51 浏览

go - 如何在 Martini 中使用函数验证 API 密钥?

所以我目前有一个函数可以接收一个字符串APIKey来检查我的 Mongo 集合。如果没有找到(未通过身份验证),则返回 false - 如果找到用户,则返回 true。但是,我的问题是我不确定如何将其与 Martini POST 路线集成。这是我的代码:

如果单独测试该validateAPIKey函数完全按照预期工作,我只是不确定如何为特定端点运行此函数(在本例中为 /api/v1/upload)。

0 投票
0 回答
37 浏览

go - 500个服务器端错误的自定义错误页面

当内部服务器错误发生时,我想要一个自定义错误页面。目前,我的错误用panic.

有没有一种干净的方法来提供这个功能,例如panic在这种情况下猴子补丁的东西,而不是用panic调用一些自定义页面渲染函数来替换每个实例?

这是一个最小的例子: