Go 中的多个response.WriteHeader 调用

2023-12-27

我的 Go 服务器正在处理我首先调用的请求response.WriteHeader()为了设置我的响应的状态代码。之后,我开始将字节写入响应正文。如果浏览器在我复制字节时取消请求,则会收到错误消息:

write tcp [::1]:52319: broken pipe

我的代码检测到此错误,然后调用http.Error()。这调用response.WriteHeader() again.

这似乎是一个问题,但我不确定。这可以避免吗?如何避免打电话response.WriteHeader()当写入响应主体时再次发生错误?

Thanks!


致电给.WriteHeader()开始通过网络向客户端发送响应。一旦响应开始,就无法返回。您唯一能做的就是在本地记录错误(让服务器管理员知道),或者可能只是默默地失败。

'Error()' 函数用于发送完整的 HTTP(错误)响应,因此您只能使用它来替换发送您自己的响应,而不能添加它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go 中的多个response.WriteHeader 调用 的相关文章

  • 指针上定义的方法仍然可以用值调用

    Effective Go 文档说明如下 关于接收者的指针与值的规则是 可以在指针和值上调用值方法 但只能在指针上调用指针方法 http tip golang org doc effective go html pointers vs val
  • 测试 gRPC 服务

    我想测试用 Go 编写的 gRPC 服务 我使用的示例是 Hello World 服务器示例grpc go 仓库 https github com grpc grpc go blob master examples helloworld g
  • 为什么 DER ASN.1 大整数的解组在 Golang 中仅限于 SEQUENCE?

    我希望能够使用encoding asn1 包从 DER 文件中解组一个大整数 但它看起来只适用于整数序列 例如 这不起作用 这很奇怪 因为 Big Int 的编组效果很好 https play golang org p Wkj0jAA6bp
  • 如何对结构切片而不是切片结构进行范围调整

    稍微玩了一下 Go HTML 模板后 我发现的所有循环模板中对象的示例都是将切片结构传递给模板 有点像这个示例 type UserList struct Id int Name string var templates template M
  • Golang const unsafe.Sizeof

    不明白为什么我可以做到 const OK uint64 0 const OK int unsafe Sizeof uint64 0 但不是这个 const NOK binary Size uint64 0 它的解释在规格 https gol
  • 如何读取 UDP 连接直至超时?

    我需要读取 UDP 流量 直到超时 我可以通过在 UDPConn 上调用 SetDeadline 并循环直到出现 I O 超时错误来做到这一点 但这看起来很黑客 基于错误条件的流量控制 下面的代码片段看起来更正确 但并没有终止 在生产中 这
  • 所有可能的 GOOS 价值?

    如果我做对了 GOOS在编译源代码时确定 为了更好地支持多个操作系统 我感兴趣的是GOOS可能 当然 Go 是开源的 所以它可能有无限的可能性 所以我真正想要的是一个 通用列表 已知值为 windows linux darwin or fr
  • 重新设计循环依赖缺陷

    我有一堆小服务 它们共享一些常见的包 例如Logger Configuration and Net 我在单独的项目中编写了每个包 问题是我的Logger需求包Configuration用于设置 和我的Configuration not仅由L
  • 如何在GO中执行HEAD请求?

    我想使用 GO net http 获取页面的内容长度 我可以在终端中使用curl i X HEAD https golang org然后检查内容长度字段 use http Head https golang org pkg net http
  • 如何在Google AppEngine上设置环境变量?

    我正在尝试在谷歌应用程序引擎上设置和使用环境变量 我的 app yaml 文件如下所示 但是 当我使用 os Getenv mytoken 时 我得到一个空字符串 而不是我设置的实际值 是GAE的bug吗 api version go1 h
  • 可执行文件不在路径中 - GO

    我正在尝试调用命令提示符的内置命令 但出现了我不明白的错误 func main cmd exec Command del C trial now txt Reboot if needed cmd Stdout os Stdout if er
  • 如何覆盖 go 模块中的依赖项?

    In dep您可以选择覆盖依赖项并使其指向不同的存储库 例如以下内容https github com kubermatic glog logrus https github com kubermatic glog logrus库一需要将以下
  • 在 OSX 上交叉编译 Go?

    我正在尝试在 OSX 上交叉编译 go 应用程序以构建适用于 Windows 和 Linux 的二进制文件 我已经阅读了网上能找到的所有内容 我发现的最接近的例子已经发布在 除了疯狂邮件列表上许多未完成的讨论之外 http solovyov
  • 如何访问主包之外的标志?

    We 解析标志 http golang org pkg flag FlagSet Parse当然 在 main 包中的 main go 中 然后我们有另一个包 我们想在其中读取一些标志的值 flags Args http golang or
  • golang中默认的HTTP拨号超时值

    我正在运行 golang http 客户端来对服务器进行压力测试 有时我会收到错误 拨号 tcp 161 170 xx xxx 80 操作超时 错误 我认为这是 HTTP 客户端超时 我正在考虑增加超时值https stackoverflo
  • 是否可以将 Go 代码作为脚本运行?

    随着Go正在成为 系统 的语言 我想知道是否可以将 Go 代码作为脚本运行而不编译它 有可能这样做吗 动机 因为有关于动机的问题 取自如何使用 Scala 作为脚本语言 http alvinalexander com scala how t
  • Goroutine 是如何工作的? (或者:goroutines 和操作系统线程的关系)

    其他 goroutine 如何在调用系统调用时继续执行 当使用 GOMAXPROCS 1 时 据我所知 当调用系统调用时 线程会放弃控制权 直到系统调用返回 Go 如何在不为每个阻塞系统调用 goroutine 创建系统线程的情况下实现这种
  • 在 Go 中,如何将函数的 stdout 捕获到字符串中?

    例如 在 Python 中 我可以执行以下操作 realout sys stdout sys stdout StringIO StringIO some function prints to stdout get captured in t
  • 如何获取文件的 ctime、atime、mtime 并更改它们

    如何使用 Go 获取文件的 ctime mtime atime 并更改它们 在 Go 1 1 2 中 os Stat只能获取mtime os Chtimes 可以更改 mtime 和 atime 但不能更改 ctime Linux ctim
  • 如何使用 golang 和 mgo 库在 mongodb 中创建文本索引?

    我正在尝试对集合进行全文搜索 但为了做到这一点 我需要创建一个文本索引 http docs mongodb org manual tutorial create text index on multiple fields http docs

随机推荐

  • 如何在 ASP.NET Core 中将备用文件夹配置为 wwwroot?

    是否可以配置不同的文件夹来替换wwwroot在 ASP NET Core 中 如果是的话 怎么办 这种改变有副作用吗 目前唯一包含的配置wwwroot在整个项目中发现project json如下面的代码所示 但用新文件夹的名称替换该值对于静
  • 高阶函数,如何在不铸造的情况下从模型中推导出注入类型

    我有点坚持这个非常简单的想法 想象一下 我们有一个简单的高阶函数 它接受另一个函数和某个对象并返回另一个函数 const hof callback data gt model gt callback data model 现在我想做的是 类
  • 如何在 iOS 7 和 iOS 8 中锁定设备方向

    我的应用程序有问题 我无法锁定应用程序的方向 我需要做的就是将一个视图控制器锁定为横向模式 其余的为纵向模式 这是我的应用程序的层次结构 Navigation Controller TabBarController ViewControll
  • 更新函数内的全局 js 变量并将更新后的内容发送到 HTML 文档

    我在更新全局变量并将更新后的内容发送到 HTML 时遇到了很大的困难 我在 HTML 中有以下内容 We found places for you 在 JavaScript 中 var mainCount 3 Global variable
  • 如何在 PyMuPDF 中获取文本的背景颜色

    我试图看看是否可以使用文本的背景和前景色识别 PDF 内表格中可能的表格标题 通过 PyMuPDF 文本提取 我能够获得前景色 想知道是否有办法也获得背景颜色 我使用 pymupdf 1 16 2 和 python 3 7 我已检查过文档
  • NSPointerArray 奇怪的压缩

    我有一个弱者NSPointerArray和一些NSObject已被释放 致电之前compact我看到的是 lldb po currentArray count 1 lldb po currentArray pointerAtIndex 0
  • Next.js - router.push 无需滚动到顶部

    我正在通过导入使用下一个路由器useRouter from next router 我正在尝试找到一种解决方案 当我更改 URL 的查询时 该解决方案不会滚动到页面顶部 有什么解决办法吗 我知道 Next 的 Link 组件有这个选项 但我
  • 创建 CSS 网格布局

    我需要使用 CSS 网格创建一个布局 如下图所示 分辨率高于 900px For resolutions below 900px I need the layout to look like this 到目前为止 我已经尝试过 contai
  • 如何在Java中获取当前日期/时间[重复]

    这个问题在这里已经有答案了 在 Java 中获取当前日期 时间的最佳方法是什么 在 Java 中获取当前日期 时间的最佳方法是什么 没有 最好 的方法 这取决于您想要什么形式的日期 时间 If you want the date time
  • 如何使用 ANTLR4 创建 AST?

    我对此进行了很多搜索 但找不到任何有用的东西可以真正帮助我构建 AST 我已经知道 ANTLR4 不像 ANTLR3 那样构建 AST 每个人都说 嘿 使用访问者 但我找不到任何示例或更详细的解释如何做到这一点 我有一个必须像 C 语言一样
  • LINQ 内部如何工作?

    我喜欢在 NET 中使用 LINQ 但我想知道它的内部工作原理是什么 询问 LINQ 的某个特定方面更有意义 这有点像问 Windows 是如何工作的 从 C 的角度来看 LINQ 的关键部分对我来说是 表达式树 这些是代码作为数据的表示
  • 带有选项字段的 F# 记录在 Asp.Net WebApi 2.x 应用程序中无法正确反序列化

    我有一个 C Asp Net MVC 5 2 7 应用程序 支持面向 Net 4 5 1 的 WebApi 2 x 我正在尝试使用 F 并向解决方案中添加了一个 F 库项目 Web 应用程序引用 F 库 现在 我希望能够让 C WebApi
  • System.Data.Entity.Infrastruct.CommitFailedException:C# 多线程和 SQL Server 2012

    我们有一个 C 多线程 100 个线程 程序 它从数据库读取记录 每个线程获取一条记录 每个线程一个实体框架连接 并更新单个数据库表 在最初的几分钟 5 分钟 内 程序运行良好 没有异常 然后突然所有线程开始抛出以下错误消息 大约 1 分钟
  • 参数化 SQL、ORACLE 与带有正则表达式的 SQL Server

    Oracle 和 Sql 服务器在参数化字符串中使用不同的参数前缀 sql使用 p1 ORA使用 p1 我想在我的 SQL 中使用 如果使用 ORA 数据库 字符应替换为 你能帮我创建正则表达式吗 下面是一些 SQL 示例 update t
  • c# 仍然返回错误的核心数

    好的 所以我发布了在 C 中 GetEnvironmentVariable NUMBER OF PROCESSORS 返回错误的数字 https stackoverflow com questions 11571994 in c sharp
  • R、SOM、Kohonen 包、异常值检测

    我用 SOM 做了一些实验 首先 我在 Python 中使用 MiniSOM 但没有留下深刻的印象 于是改用 R 中的 kohonen 包 它比以前提供了更多功能 基本上 我将 SOM 应用到三个用例 1 使用生成的数据进行二维聚类 2 使
  • iOS、Cocoa、AppiRater - 如何本地化 SKStoreProductViewController 的取消按钮

    如何本地化弹出的 AppiRater 视图控制器中的 取消 按钮 我正在查看 AppiRater 代码 它使我们SKStoreProductViewController像这样 SKStoreProductViewController sto
  • 如何知道Linux中特定引脚的中断/GPIO编号

    我正在做一个项目 需要在 Linux 中处理中断 我正在使用的板是基于三星的s3c6410 MCU arm 11处理器 它具有以下I O接口 如图所示 我有用于外部中断的 EINTx 引脚和用作 GPIO 引脚的 GPxx 引脚 我不介意使
  • 从内部存储读取 JSON 文件的内容

    如何从内部存储输出 JSON 文件的内容 以下是目前正在开展的工作 String filename names json final File file new File Environment getDataDirectory filen
  • Go 中的多个response.WriteHeader 调用

    我的 Go 服务器正在处理我首先调用的请求response WriteHeader 为了设置我的响应的状态代码 之后 我开始将字节写入响应正文 如果浏览器在我复制字节时取消请求 则会收到错误消息 write tcp 1 52319 brok