问题标签 [fasthttp]

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 投票
2 回答
3136 浏览

go - 结合 net/http 和 fasthttp

我正在寻找一个快速的 go 框架,我偶然发现了 fasthttp https://github.com/valyala/fasthttp,这是根据开发人员的说法,基准测试比 Golang net/http 包快 10 倍。我已经熟悉 gorilla 工具包和其他基于 net/http 的框架,如 gin-gonic、goji 和 gocraft。

我的问题是:是否可以将 net/http 框架/工具包与 fasthttp 混合使用,例如我想使用一些带有 echo/iris 的 gorilla 包(fasthttp 框架)?

0 投票
2 回答
7034 浏览

go - Fasthttp + fasthttprouter,尝试写中间件

我目前正在尝试编写一些中间件来使用 fasthttp 和 fasthttprouter。我被困住了。

我现在如何运行实际的处理程序?我觉得我错过了一些非常简单的东西。

我已经阅读了这篇博文:Golang 中的中间件。但我迷路了。

有任何想法吗?

问候

0 投票
4 回答
10709 浏览

http - fasthttp中获取请求参数key-value

http://127.0.0.1:8080/x?haha=1

我想得到类似的东西ctx.QueryArgs().Get("haha")

golang的fasthttp包中可以吗?

0 投票
1 回答
1939 浏览

http - 在golang fasthttp中获取任意请求头值

通过文档搜索并阅读源代码,无论如何都找不到访问类似的东西

ctx.Request.Header.Get("X-Forwarded-For")

我在 中看到header.go,它type RequestHeader struct被定义为

是否可以完全不反射地访问这些字段?

0 投票
1 回答
3061 浏览

rest - Golang fasthttp请求非常慢

我正在使用fasthttp包构建一个 Rest API。我有一条用于测量性能的测试路线:

如果我向此路由发送请求,则需要 10 多秒才能到达println("HERE")测试功能。

我已经建立了一个类似的端点Node.js,这个完全相同的功能和路由需要 126 毫秒。
为什么在 Go 中调用这条路由指向的函数需要这么长时间?

0 投票
1 回答
23203 浏览

go - 为什么 fasthttp 比 net/http 快?

基于服务器的fasthttp速度比net/http.

哪些实现细节使fasthttp速度如此之快?此外,它如何更好地管理传入请求net/http

0 投票
1 回答
692 浏览

go - 函数作为参数,访问内部参数

valyala/fasthttp实现了以下函数类型:

它在buaazp/fasthttprouter中使用如下:

我正在尝试像这样包装这些(开放以获取有关实施的建议):

我怎样才能做到这一点?或者,如果这根本不是要走的路,我怎样才能达到下面提到的路由器包的目标?


背景

目标:我的愿望是包装工具包(会话、数据库、路由等),以使我的应用程序与这些包的实现无关。我希望这样做主要是为了能够使用特定于域的功能来扩展它们,并且能够将一个 3rd 方库切换到另一个库,如果我需要这样做的话。它还使调试和记录更容易。

方法:我创建本地类型和函数,它们映射到导入包的功能。

问题:我被困在如何正确包装外来(即导入)函数类型上。

0 投票
1 回答
1219 浏览

http - 如何从 RequestURI 获取查询参数而不丢失字符

我想从 golang 中的 RequestURI 获取查询参数。网址是这样的: http://localhost:3000/add-ebay?authToken=AgAAAA**AQAAAA**aAAAAA**6d8JWQ**nY+sHZ2PrBmdj6wVnY+sEZ2...

我的代码如下:

结果是:

但我想得到这样的结果:

我怎样才能得到正确的结果?为什么会这样?

0 投票
2 回答
532 浏览

go - 为什么 fasthttp 像单进程?

多个请求,它需要像 X*10s 这样的时间。fasthttp 是单进程吗?

两天后... 对不起这个问题,我的问题描述得不好。我的问题是由浏览器引起的,浏览器通过同步请求相同的url,它误导了我,它使我认为fasthttp Web服务器hanlde通过同步请求。

0 投票
1 回答
2276 浏览

testing - 使用 httptest 测试 fasthttp

我想知道如何使用Go 基础库中的httptest 包测试使用fasthttp编写的应用程序。

我发现这个指南很好地解释了测试,但问题是 httptest 不满足http.Handler接口所以我不知道该怎么做,http.HandlerFunc因为 fasthttp 使用它自己fasthttp.ListenAndServe的不兼容。

关于如何创建包装器或如何端到端测试 fasthttp 书面库的任何想法?