草庐IT

http_service

全部标签

Golang TCP 服务器 : how to write HTTP2 data

我是HTTP/2.0的新手,我正在尝试设置一个用Golang编写的TCP服务器,它接收和写入HTTP/2.0帧。我在将任何数据写回客户端时遇到问题。以下代码片段显示了如何处理请求。conn,err:=l.Accept()iferr!=nil{log.Fatal("couldnotacceptconnection:",err)}deferconn.Close()//Everyconnectionstartswithaconnectionprefacesendfirst,whichhastobereadprior//toreadinganyframes(RFC7540,section3.5

amazon-web-services - 如何将 S3 数据加载到本地内存,而不是保存到文件

这个问题在这里已经有了答案:Howtokeepfilesinmemory-transferringfilesbetweenserverswithoutstoringthemlocally(1个回答)关闭4年前。这是我当前的代码:import("time""reflect""io/ioutil""fmt""os""github.com/golang/protobuf/proto""github.com/aws/aws-sdk-go/service/s3""github.com/aws/aws-sdk-go/service/s3/s3manager""github.com/aws/aws-

amazon-web-services - aws xray 和 golang http 调用

我正在尝试在我的go应用程序上使用awxxray来调用http服务。我只是跟着这个,不确定我是否错过了什么,https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-go-httpclients.html我像这样进行http调用:payloadStr,_:=json.Marshal(dxPayload)fmt.Println("size:",int(unsafe.Sizeof(bytes.NewBuffer(payloadStr))))clambda=&http.Client{}//-------ADDEDXRAYHERE---

go - 为 Kubernetes go-client 使用 HTTP 代理

我正在使用go-clientforkubernetes来控制我的GKE集群上的部署,但此客户端将在代理后面运行,并且需要通过它发出所有与互联网绑定(bind)的请求。但我似乎无法找到一种方法来配置我的KubeClient以通过代理发出所有http请求。我的代码与此处的示例差别不大-https://github.com/kubernetes/client-go/blob/master/examples/out-of-cluster-client-configuration/main.go 最佳答案 当您使用配置(kubernetes.

amazon-web-services - 使用无服务器调用函数时传递 JSON

我正在使用无服务器运行一个用Go编写的lambda函数,我想在它被调用时向它传递几个参数。这是我为接收请求而创建的结构:typeRequestStructstruct{StartAtint`json:"startAt"`EndAtint`json:"endAt"`}在处理程序中,我试图打印出值:funcHandler(ctxcontext.Context,requestRequestStruct)(Response,error){fmt.Printf("Request:%v",request)我尝试使用--raw选项调用它,所以我尝试这样做serverlessinvoke-forder

go - 当只读来自 HTTP 处理程序的共享结构时如何防止竞争条件

我需要从struct更新值并返回(只读)而不是从HTTP处理程序写入,以避免出现竞争条件我正在使用sync.Mutex这是一个基本示例:http://play.golang.org/p/21IimsdKP6epackagemainimport("encoding/json""log""net/http""sync""time")typeCounterstruct{countuintflagboolmusync.Mutexquitchanstruct{}timetime.Timewgsync.WaitGroup}func(c*Counter)Start(){c.count=1c.time

amazon-web-services - 通过 Lambda 传递 Cloudwatch 数据 - Golang

我正在努力实现以下目标:Lambda由Cloudwatch警报触发Lambda查看Cloudwatch收到的数据,并根据NewStateValue决定要做什么如果需要,Lambda将触发另一个SNS,将所有Cloudwatch数据发送到OpsGenie我卡在了第三步。我可以通过手动指定来传递一些数据,但是,是否有一个函数可以将Lambda接收到的所有JSON传递到下一个SNS?我有SNS、CloudWatch警报和CloudWatch警报的消息部分的JSON。packagemainimport("context""fmt""encoding/json""github.com/aws/a

http - 如何将 net/http.ResponseWriter 转换为 net/http.Response

首先,我故意错误地问了这个问题,希望网络搜索引擎能更好地理解我的问题。更准确的问题是:如果我捕获了对自定义net/http.ResponseWriter的所有调用,如何将传递给它的值存储到[]byte缓冲区中,如何将其转换为net/http.Response?我相信答案就在net/http.ReadResponse()中,但我不确定如何正确呈现响应以便ReadResponse理解。 最佳答案 net/http/httptest包有一个ResponseRecorder,可以将ResponseWriter转换为Response。如果您捕

go - 每个 tcp 连接上的每个 http 请求

我的问题很简单:在Go中有多少http请求与服务器建立了多少tcp连接。我正在编写一个可以发送许多http请求的工具,但我发现所有这些请求都通过一个或两个tcp连接,似乎golanghttpTransport有一个连接池。 最佳答案 如果您为HTTP请求使用DefaultTransport,则TCP连接将被重用。DefaultTransportisthedefaultimplementationofTransportandisusedbyDefaultClient.Itestablishesnetworkconnectionsasn

http - ListenAndServe 和 Server.Serve

有什么区别ln,err:=net.Listen("tcp",addr)iferr!=nil{returnerr}gosrv.Serve(ln)和ln,err:=net.Listen("tcp",addr)iferr!=nil{returnerr}returnsrv.Serve(tcpKeepAliveListener{ln.(*net.TCPListener)})?我正在创建我自己的ListenAndServe(第一个代码片段),以便我可以在调用我的ListenAndServe后立即执行代码并向我的服务器发送请求。但是,我无法使用tcpKeepAliveListener,因为它未导出。