草庐IT

http-types

全部标签

unit-testing - 在 golang 中重置 http 处理程序以进行单元测试

我正在golang中测试一个http服务器,除了一件烦人的事情外,一切看起来都很顺利。在某些时候,当我配置服务器时,在执行http.ListenAndServe之前,我使用http.Handle("/",myrouter)注册了一个处理程序,问题是在下面的测试中,当再次调用配置方法时,我收到以下panic:panic:http:multipleregistrationsfor/[recovered]我想在干净的环境中运行每个测试,但还没有找到拆除http.DefaultServeMux的方法,有没有一种方便的方法可以通过“无效”来做到这一点或者重新配置测试环境,以便每个测试都在新环境中

戈朗 : Is a network condition can make a net/http HandleFunc to panic?

想想我有一个关键函数,它应该全部运行或不运行。TakeMoneyFromSomeone()GiveMoneyToSomeoneElse()我的问题是:我可以相信Go函数在使用`net/http.HandleFunc时不会在第1行和第2行之间出现panic吗?(这两个函数在我的http处理程序中)我只关注网络问题。例如:如果客户端断开连接、超时或正文太长,或其他任何情况。有什么网络问题会使服务器在line1和line2之间崩溃?(那两条线不使用网络)如果答案是否。如果我尝试ResponseWriter.write到关闭连接的客户端,会发生什么情况。会不会panic?

forms - Golang http : multiple response. WriteHeader 调用

所以我目前正在为我的Go网络应用程序分别编写登录和注册功能,并且我正在尝试实现一项功能,如果您不填写必填的表单字段“用户名”“密码”,它将提供你一个http.Error然后我试图让它http.Redirect但我在重定向发生时收到此错误。http:multipleresponse.WriteHeadercalls这是我的代码..//Checkformsubmissionvaruuserifreq.Method==http.MethodPost{un:=req.FormValue("username")p:=req.FormValue("password")//Checkingtosee

http - Shopify 使用在浏览器上工作但不使用 golang 脚本的获取请求将商品添加到购物车

我想在shopify商店中自动执行将商品添加到购物车的过程。例如,在http://www.oneness287.com。如果您想购买these尺寸7.5,转到http://oneness287-2.myshopify.com/cart/29741797961:1会自动将产品添加到我的购物车并将我重定向到结帐页面。但是当我这样做的时候http.Get("http://oneness287-2.myshopify.com/cart/29741797961:1")来self的golang代码,然后检查我的购物车。购物车还是空的。在这种情况下有什么不同?在第一种情况下,我从浏览器发出请求,在第

http - 标准库 http 包默认记录到 stdout,我可以禁用它吗?

在Go中使用内置的http模块时,我注意到http.ListenAndServe()将默认对stdout进行日志记录调用。在我的终端中显示的主要内容是:http:TLShandshakeerrorfromx.x.x.x:x:tls:clientofferedanunsupported,maximumprotocolversionof301.现在我明白了这个错误是什么以及导致它的原因,但事实是,我并不特别在意。如何阻止http包(或ListenAndServe()等)默认记录到stdout?它堵塞了我漂亮的控制台。我95%确定我不是记录消息的人,因为我设置的所有日志都有“信息”、“警告”

rest - REST api设计的GET方法中的HTTP状态码

我正在学习RESTAPI设计中涉及的最佳实践,并编写了一个函数来处理GET/citiesHTTP/1.1查询。这个函数包含cities,它是一个结构数组,包含多个城市的cityname,citycode。下面是代码funcFindCitiesHandler(whttp.ResponseWriter,r*http.Request){w.Header().Set("Content-Type","application/json;charset=UTF-8")iflen(cities)==0{w.WriteHeader(404)return}iferr:=json.NewEncoder(w)

go - 是否可以将 Type 存储在 map 中,稍后使用它在 Go lang 中实例化对象?

这个问题在这里已经有了答案:InstancenewType(Golang)(2个答案)关闭5年前。我是Go新手,遇到了这个问题。我需要制作一种“调度程序”,它将接收一个字符串并返回一个要基于该字符串实例化的类型。例如:AnimalType:=mymap["animal"]newAnimal:=new(AnimalType)有办法吗?提前致谢。

json - 无法将字符串解码到 Go struct 字段 Article.article_type of type models.ArticleType

我无法将json字段article_type解码为golang结构Article。我遇到错误:json:无法将字符串解码到Gostruct字段Article.article_typeoftypemodels.ArticleTypestr:=[]byte(`[{"created_at":1486579331,"updated_at":1486579331,"article_type":"news"}]`)typeArticlestruct{IDuint`gorm:"primary_key"`CreatedAttimestamp.Timestamp`json:"created_at"`Up

http - MIME ParseMediaType 在多部分边界上失败

我是一个接受多部分/表单数据请求的Golangapi。但是,对于某些客户端,它无法解析表单,因为它不喜欢客户端使用的边界。来自客户端的header是:Content-Type:[multipart/form-data;boundary================1648430772==]我已将其缩小到mime包中的ParseMediaType函数。如果我调用:bad:="multipart/form-data;boundary=1650458473"d,params,err:=mime.ParseMediaType(v)iferr!=nil{fmt.Println("err",er

debugging - 有什么方法可以获取 'http: response.WriteHeader on hijacked connection' 错误的堆栈跟踪?

我们的Web应用程序正在将大量“http:response.WriteHeaderonhijackedconnection”消息记录到stderr。有什么方法可以让http库输出堆栈跟踪或其他调试信息以及此消息(或将其升级为错误),以便追踪位置在我们的应用程序中会发生这种情况吗? 最佳答案 由于永远不会返回错误,并直接写入http.Server.ErrorLog,这是您唯一可以拦截它的地方。您可以在调试器中运行它并在该点中断,但如果在生产环境中运行,这可能没有用。您可以使用io.Writer创建一个新的*log.Logger,当它遇