问题标签 [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.
go - http.SetCookie 的内存地址无效
我正在开发一个名为 persona 的身份验证包。
每一件事都很好,除了一件事,当我尝试设置 cookie 时,我的内存地址无效。
当我删除http.SetCookie(w, &cookie)
一切正常。你有什么主意吗 ?
go - 所谓的裸函数上的 serveHTTP 实用程序从何而来
我有这个实用程序:
上面这样称呼:
然后tc.ExtractType
是这样的:
我的问题是 - serveHTTP 方法/函数来自哪里?
参数不h
只是具有此签名的函数:
那么该函数是如何将ServeHTTP
函数附加到它的呢?
换句话说,我为什么打电话
代替
?
go - 使用客户端为每个 HTTP 请求添加标头
我知道我可以使用手动向每个 HTTP 请求添加标头
但我想为我的应用程序中的每个 HTTP 请求自动添加此标头。
最好的方法是什么?
go - 使用 httptest 和 curl 的不同 Content-Type
我正在尝试这个 Go 代码
通过这个测试
当我运行测试时,一切正常
Content-Type
is ,application/json
但是当我运行服务并用 curl 调用它时,Content-Type
istext/plain
为什么行为与测试和执行不同?
(示例基于https://github.com/gorilla/mux#testing-handlers)
编辑 1
当我更改行之间的顺序时,从
至
使用 curl,我得到了预期的行为,Content-Type: application/json
但无论如何,在原始情况下,为什么测试和执行显示不同Content-Type
?
编辑 2
我复制了一个 tcpdump,它包含Content-Type: text/plain
.
postgresql - 使用 PostgreSQL 和 json-api 发布请求返回一个空正文
在 POST 请求之后,我希望将最后插入的记录编组到 json 中,但返回的是一个空正文。我哪里做得不好?
我相信这是罪魁祸首。插入记录后,它应该返回指定的最后插入的记录。
Update 更新数据库中的 Page 并返回最后插入的记录。这同样适用于更新功能
这是我认为问题正在发生的最后一个功能。最后插入的记录应该被编组为 json。
go - 如何创建通用请求验证中间件
我想在这里实现的是创建一个非常通用的中间件,Expects
它实际上根据提供的参数验证当前请求。Bad Request
如果所需的参数不存在或为空,它将引发 a 。在 Python (Flask) 中,这将非常简单,例如:
的定义expects
看起来像这样(一个非常小的例子):
我只是对如何在 Go 中实现这一点感到有些困惑。到目前为止我尝试的是:
并从main.go
文件中:
它实际上是第一次工作并验证请求,但是在一个有效请求之后,所有连续请求都成功,即使 json 不包含所需的参数。endopintParams
这与我正在创建的全球有什么关系吗?
json - 如何用不同类型的相同变量解组
我正在使用具有可能输出的 API:
我对“值”有疑问。“结构应该是什么样的,这将允许这个 JSON 解组到它的数组?
http - 从 ReadCloser 发送 HTTP Put 正文永远不会结束
目标
我想从阅读器将数据发送到我的服务器。(在示例 aNopCloser
中,稍后它将是 an 的标准输出exec.Command
)
问题
请求永远不会结束。即使我手动关闭 cmdOut 程序也不会结束。具体:它永远不会到达“请求完成”行,并且永远不会调用wg.Done()
陷阱
所有数据都正确发送到服务器(即使使用exec.Command
标准输出)。但是它http.DefaultClient.Do
似乎仍然在听ReadCloser
它是空的(并在主程序中关闭)
代码
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 进行检测,但仍然得到相同的错误。
有什么建议或想法吗?
问候,
go - 来自 r.URL.Query() 的键映射不一致
使用 解析 URLr.URL.Query()
时,我得到的结果不一致,我想知道是否有其他人遇到过同样的问题和/或可行的解决方法。键有时会返回?keyName
而不是keyName
经常返回,我会对这keys.Get
两个值都做。
测试网址:http://localhost:3000/?lng=-75.7572111845&type=property