草庐IT

http_service

全部标签

go - 是否可以从 websocket 连接访问 HTTP 请求?

我正在使用gorilla网络套接字。是否可以从*websocket.Conn访问HTTP请求?我想访问请求session以识别用户。除了在websocket注册时生成token并在进一步的交互中使用它之外,还有其他方法可以做到这一点吗? 最佳答案 使用Gorillawebsocket包,应用程序编写一个HTTP处理程序并调用upgrader.Upgrade方法来获取连接。这是一个例子:funchandler(whttp.ResponseWriter,r*http.Request){conn,err:=upgrader.Upgrade

amazon-web-services - 通过 Go SDK (Amazon S3) 从 Bucket 生成 Torrent

我正在尝试找出一种使用适用于Go的AWS开发工具包从存储桶生成torrent文件的方法。我使用的是预签名的url(因为它是私有(private)存储桶):svc:=s3.New(session.New(config))req,_:=svc.GetObjectRequest(&s3.GetObjectInput{Bucket:aws.String("bucketName"),Key:"key",})//signtheurlurl,err:=req.Presign(120*time.Minute)从文档中,生成一个torrent,语法:GET/ObjectName?torrentHTTP/

amazon-web-services - 使用 Go 在 AWS SES 中自定义电子邮件 header

我想添加一个References-header到我通过AWSSES发送的外发电子邮件。我在gorepo中找不到任何引用此内容的内容,也不是文档。我发现了这个:_,err:=svc.SendEmailWithContext(aws.BackgroundContext(),params,func(req*request.Request){req.HTTPRequest.Header.Add("References",referencesID)})但是据我所知,这只是调整了对SES的传出请求,而不是消息本身。 最佳答案 这就是我最终使用g

http - 为什么 go http 客户端在处理 POST 时放入 transfer-encoding=chunked header

我像这样发出POST请求://...packnon-zerobufreq,_:=http.NewRequest("POST",url,bufio.NewReader(buf))req.Header.Add("X-Uid","12345")req.Header.Add("Content-Length",strconv.Itoa(buf.Len()))client:=http.Client{}resp,err:=client.Do(req)我预计不会传递“Transfer-Encoding”header,但我在服务器日志中看到传递了“Transfer-Encoding:chunked”he

go - Web 地址路由在 http.ListenAndServe 上运行良好,但在 cgi.Serve() 上运行失败

我正在使用Go开发网站。服务器限制要求我使用CGI。当我使用http.ListenAndServe()(在下面注释掉)在本地测试以下代码时,会根据请求的地址正确调用各种处理程序。但是,如果我改为使用cgi.Serve(),则会对所有地址执行默认路由器(即始终执行“/”的处理程序)。如果能提供有关如何解决此问题的任何线索,我将不胜感激。编辑:这是我能想到的最简单的测试用例来说明问题://=============简化代码================//packagemainimport("fmt""net/http""net/http/cgi")funcdefaultHandler(

http - 发送 HTTP 响应被阻止,直到 shell 命令完成

想法:有一个Web服务器准备好接收消息,这些消息将触发在服务器上执行命令/测试。我从一个执行简单ping的简单案例开始。下面的代码处理发送到/ping的POST消息,其中包含以下json格式:{"ip":"valid_ip_addr","count":"4"}然后服务器将运行命令ping-c4valid_ip_address期望的结果:如果命令可以.Start()发回200OK。如果有问题,发回错误信息。问题:我在检查.Start()没有给出任何错误后立即发送了一个200OK响应,但这是命令完成后接收。代码:共有三个函数:main()、handler()和ping()。问题出现在最后一

amazon-web-services - 突发数据处理的最佳 EC2 实例

我需要一些关于将哪种类型的EC2实例用于我的数据处理应用程序的建议。这是一个利用goroutines和channel的Golang应用程序。它计划每10秒检查一次数据源,每小时可以处理大约一百万个数据库条目。感谢您的帮助。 最佳答案 您可以使用T2类型的实例。适用于BurstablePerformance。您可以阅读更多相关信息here另请查看howtochooserighttypeofinstancesavailableinEC2 关于amazon-web-services-突发数据处

rest - 使用 http 包实现 REST 多资源和标识符

我的应用程序中有产品和项目。产品是项目的集合。例如,T恤是一种产品,它具有尺码和颜色等属性。尺码为S、M、L、XL,颜色为红色、绿色和蓝色。我想使用仅http包构建REST服务。(没有gorillaMux、Goji等)。POSTApi添加产品http://localhost/product对于以上,我使用http.HandleFunc("/product",AddProduct)funcAddProduct(whttp.ResponseWriter,r*http.Request){ifr.Method=="POST"{//Mycode}}我想知道如何实现以下内容:获取特定产品的项目列表

amazon-web-services - Golang SIGTEM SIGKILL 回调未在停止 EC2 时执行

我在EC2中有一个golang程序。要求是对EC2终止执行清理。我试图通过下面的代码来实现这一点,我在其中创建了一个监听操作系统信号的channel:funcInitTermination(){signal.Notify(c,os.Interrupt,syscall.SIGTERM,syscall.SIGKILL)//listentoterminationsignals(ctrl+c)gofunc(){在实例终止或停止时,我希望执行uploadCompletedLogs()方法,该方法执行一些清理,但我无法实现所需的行为。有人可以指导我如何实现这一目标吗?

amazon-web-services - 用于全局索引的 DynamoDB ConsistentRead

我有下一个表结构:IDstring`dynamodbav:"id,omitempty"`Typestring`dynamodbav:"type,omitempty"`Valuestring`dynamodbav:"value,omitempty"`Tokenstring`dynamodbav:"token,omitempty"`Statusint`dynamodbav:"status,omitempty"`ActionIDstring`dynamodbav:"action_id,omitempty"`CreatedAttime.Time`dynamodbav:"created_at,o