问题标签 [go-http]

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 投票
1 回答
28 浏览

go - http.SetCookie 的内存地址无效

我正在开发一个名为 persona 的身份验证包。

每一件事都很好,除了一件事,当我尝试设置 cookie 时,我的内存地址无效。

当我删除http.SetCookie(w, &cookie)一切正常。你有什么主意吗 ?

0 投票
1 回答
99 浏览

go - 所谓的裸函数上的 serveHTTP 实用程序从何而来

我有这个实用程序:

上面这样称呼:

然后tc.ExtractType是这样的:

我的问题是 - serveHTTP 方法/函数来自哪里?

参数不h只是具有此签名的函数:

那么该函数是如何将ServeHTTP函数附加到它的呢?

换句话说,我为什么打电话

代替

?

0 投票
2 回答
6103 浏览

go - 使用客户端为每个 HTTP 请求添加标头

我知道我可以使用手动向每个 HTTP 请求添加标头

但我想为我的应用程序中的每个 HTTP 请求自动添加此标头。

最好的方法是什么?

0 投票
2 回答
1049 浏览

go - 使用 httptest 和 curl 的不同 Content-Type

我正在尝试这个 Go 代码

通过这个测试

当我运行测试时,一切正常

Content-Typeis ,application/json但是当我运行服务并用 curl 调用它时,Content-Typeistext/plain

为什么行为与测试和执行不同?

(示例基于https://github.com/gorilla/mux#testing-handlers

编辑 1

当我更改行之间的顺序时,从

使用 curl,我得到了预期的行为,Content-Type: application/json

但无论如何,在原始情况下,为什么测试和执行显示不同Content-Type

编辑 2

我复制了一个 tcpdump,它包含Content-Type: text/plain.

0 投票
1 回答
1014 浏览

postgresql - 使用 PostgreSQL 和 json-api 发布请求返回一个空正文

在 POST 请求之后,我希望将最后插入的记录编组到 json 中,但返回的是一个空正文。我哪里做得不好?

我相信这是罪魁祸首。插入记录后,它应该返回指定的最后插入的记录。

Update 更新数据库中的 Page 并返回最后插入的记录。这同样适用于更新功能

这是我认为问题正在发生的最后一个功能。最后插入的记录应该被编组为 json。

0 投票
0 回答
320 浏览

go - 如何创建通用请求验证中间件

我想在这里实现的是创建一个非常通用的中间件,Expects它实际上根据提供的参数验证当前请求。Bad Request如果所需的参数不存在或为空,它将引发 a 。在 Python (Flask) 中,这将非常简单,例如:

的定义expects看起来像这样(一个非常小的例子):

我只是对如何在 Go 中实现这一点感到有些困惑。到目前为止我尝试的是:

并从main.go文件中:

它实际上是第一次工作并验证请​​求,但是在一个有效请求之后,所有连续请求都成功,即使 json 不包含所需的参数。endopintParams这与我正在创建的全球有什么关系吗?

0 投票
2 回答
85 浏览

json - 如何用不同类型的相同变量解组

我正在使用具有可能输出的 API:

我对“值”有疑问。“结构应该是什么样的,这将允许这个 JSON 解组到它的数组?

0 投票
1 回答
52 浏览

http - 从 ReadCloser 发送 HTTP Put 正文永远不会结束

目标

我想从阅读器将数据发送到我的服务器。(在示例 aNopCloser中,稍后它将是 an 的标准输出exec.Command

问题

请求永远不会结束。即使我手动关闭 cmdOut 程序也不会结束。具体:它永远不会到达“请求完成”行,并且永远不会调用wg.Done()

陷阱

所有数据都正确发送到服务器(即使使用exec.Command标准输出)。但是它http.DefaultClient.Do似乎仍然在听ReadCloser它是空的(并在主程序中关闭)

代码

0 投票
1 回答
480 浏览

go - 从 golang 代码向 Google 驱动器 API 发送文件会产生错误:不支持的内容类型为:image/jpeg

根据 Google Drive API文档,上传文件的正确方法是:

curl -v -H 'Authorization: Bearer mytoken' -F 'metadata={"name": "test3.jpeg"};type=application/json' -F file=@jpeg_image.jpeg 'https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart'

现在,我需要从 golang 代码执行相同的请求,但是我很难将其转换为 golang,这是我在多次尝试后使用的代码:

使用 curl 请求成功:

使用 Golang,我得到 400:

我也尝试了不同的值partHeader.Add("Content-Type", "image/jpeg"),我也尝试过application/x-www-form-urlencoded,我也注释掉了这一行,让 golang 进行检测,但仍然得到相同的错误。

有什么建议或想法吗?

问候,

0 投票
1 回答
176 浏览

go - 来自 r.URL.Query() 的键映射不一致

使用 解析 URLr.URL.Query()时,我得到的结果不一致,我想知道是否有其他人遇到过同样的问题和/或可行的解决方法。键有时会返回?keyName而不是keyName经常返回,我会对这keys.Get两个值都做。

测试网址:http://localhost:3000/?lng=-75.7572111845&type=property

电流输出

预期的