草庐IT

ftp-telnet-mysql-ssh-http

全部标签

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?

go - 如何在GoLang中获取MySQL表的描述

com/jinzhu/gorm"和"github.com/go-sql-driver/mysql"包与我的数据库交互并试图获取表的描述但没有找到函数。请帮助 最佳答案 使用gorm,您可以执行自定义查询并在struct中获取她的返回值,以下是如何显示表描述的示例:typeResultstruct{FieldstringTypestringNullstringKeystringDefaultstringExtrastring}db.Raw("DESCRIBETABLE_NAME").Scan(&result)按gorm查看更多:htt

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代码,然后检查我的购物车。购物车还是空的。在这种情况下有什么不同?在第一种情况下,我从浏览器发出请求,在第

mysql - mysql 连接超时的最佳解决方案是什么?

我正在用Go编写一个小型网络应用程序,它使用mysql来存储数据。如果Web服务器在一段时间后(>8小时)没有收到任何请求,我会遇到间歇性的mysql错误:[mysql]2017/02/0816:31:56packets.go:33:unexpectedEOF[mysql]2017/02/0816:31:56packets.go:130:writetcp127.0.0.1:49188->127.0.0.1:3306:write:brokenpipe我在github上找到了一些相关的讨论(issue529,issue257和issue446)。据我了解,如果达到超时,mysqldb将关闭

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)

mysql - 安装 dbweb 时没有远程存储库

我要安装dbweb管理MySQL数据库服务器,但我在cmd中收到此错误。我试图将它安装到我的go项目中,但出现了同样的错误。C:\Users\NakhodaSokoot>gogetgithub.com/go-xorm/dbweb#cdC:\Users\NakhodaSokoot\go\src\github.com\lunny\nodb;gitpull--ff-onlyfatal:Noremoterepositoryspecified.Please,specifyeitheraURLoraremotenamefromwhichnewrevisionsshouldbefetched.pac

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