当前位置: 首页 > wzjs >正文

惠州网站建设企业百度seo排名优化技巧分享

惠州网站建设企业,百度seo排名优化技巧分享,wordpress有没有漏洞,腾讯 wordpress最近在GitHub上发起了一个关于Beego框架的小插件的开源仓库,这一举动虽然看似微小,但其中的快乐和意义却是无法用言语表达的。 Beego是一个开源的Go语言Web框架,它采用了MVC架构模式,并集成了很多常用的功能和中间件。小插件是指…

最近在GitHub上发起了一个关于Beego框架的小插件的开源仓库,这一举动虽然看似微小,但其中的快乐和意义却是无法用言语表达的。

Beego是一个开源的Go语言Web框架,它采用了MVC架构模式,并集成了很多常用的功能和中间件。小插件是指与Beego框架配套使用的、可扩展的、独立的软件模块或组件。通过开发小插件,可以扩展Beego框架的功能,提高开发效率和代码可维护性。

Beego-Requestid是一种中间件(Middleware),用于在处理HTTP请求时,为每个请求生成一个唯一的ID,并将其附加到请求上下文中。这样,您可以在应用程序的其他地方方便地访问这个唯一的请求ID,从而更好地跟踪和调试应用程序。

使用RequestId中间件可以帮助您解决以下问题:

  1. 跟踪请求:通过在每个请求中添加唯一的ID,您可以轻松地在应用程序中跟踪请求的来源和路径。这对于调试和性能优化非常有用。
  2. 日志记录:您可以使用请求ID将日志记录与特定请求关联起来。这样,当您在日志中查找特定请求的信息时,可以更方便地定位相关的日志条目。
  3. 错误处理:如果应用程序中出现错误,请求ID可以帮助您识别是哪个请求引发了错误。这对于故障排查和问题报告非常有帮助。
代码

话不多说直接看源码:

package beego_requestidimport ("github.com/beego/beego""github.com/beego/beego/context""github.com/google/uuid"
)const DefaultHeaderReqIdKey = "X-Request-Id"type Option func(config *Config)type GenRequestIdFunc func() stringtype Config struct {genRequestIdFunc               GenRequestIdFuncheaderReqIdKey, customReqIdKey string
}func NewFilter(opts ...Option) beego.FilterFunc {cnf := &Config{genRequestIdFunc: DefaultGenRequestIdFunc,headerReqIdKey:   DefaultHeaderReqIdKey,}for _, opt := range opts {opt(cnf)}return func(c *context.Context) {reqId := c.Request.Header.Get(cnf.headerReqIdKey)if reqId == "" {reqId = cnf.genRequestIdFunc()c.Request.Header.Add(cnf.headerReqIdKey, reqId)}if cnf.customReqIdKey != "" {c.Input.SetData(cnf.customReqIdKey, reqId)}}
}func WithGenRequestIdFunc(genFunc GenRequestIdFunc) Option {return func(config *Config) {config.genRequestIdFunc = genFunc}
}func WithHeaderReqIdKey(key string) Option {return func(config *Config) {config.headerReqIdKey = key}
}func WithCustomReqIdKey(key string) Option {return func(config *Config) {config.customReqIdKey = key}
}func DefaultGenRequestIdFunc() string {return uuid.NewString()
}

使用示例:

package mainimport ("log""time""github.com/spf13/cast""github.com/beego/beego""github.com/beego/beego/context"beego_requestid "github.com/ibarryyan/beego-requestid"
)func example1() {beego.InsertFilter("/*", beego.BeforeRouter, beego_requestid.NewFilter())beego.Get("/hello", func(c *context.Context) {reqId := c.Request.Header.Get("X-Request-Id")log.Printf("reqestid = %s", reqId)_, _ = c.ResponseWriter.Write([]byte("hello..."))return})beego.Run(":9900")
}func example2() {beego.InsertFilter("/*", beego.BeforeRouter, beego_requestid.NewFilter(beego_requestid.WithGenRequestIdFunc(func() string {return cast.ToString(time.Now().Unix())}),beego_requestid.WithHeaderReqIdKey("my_header_reqid"),beego_requestid.WithCustomReqIdKey("my_reqid"),))beego.Get("/hello", func(c *context.Context) {reqId := c.Request.Header.Get("my_header_reqid")log.Printf("reqestid = %s", reqId)cReqId := c.Input.GetData("my_reqid")log.Printf("my reqestid = %s", cReqId)_, _ = c.ResponseWriter.Write([]byte("hello..."))return})beego.Run(":9900")
}

此外,前端请求时需要带上header key要与后端的一致

获得快乐

发完代码后我就直接去Beego的GitHub仓库下提了一个issue,来分享的研究的中间件,地址:https://github.com/beego/beego/issues/5419,后来没想到竟然收到了回复,哈哈哈

在这里插入图片描述

然后我立马就去新的issue分享了我的插件

https://github.com/beego/beego/issues/5421

再后来,我就有两个star了~

在这里插入图片描述

仓库地址

https://github.com/ibarryyan/beego-requestid


文章转载自:

http://6lroSKnS.mLffg.cn
http://7zawXXNL.mLffg.cn
http://xypZkVwT.mLffg.cn
http://4LYWlASj.mLffg.cn
http://ibRcrJTm.mLffg.cn
http://0sydVGLw.mLffg.cn
http://T6P8Nsru.mLffg.cn
http://vJaUHKQb.mLffg.cn
http://zBH1JxwI.mLffg.cn
http://WDSCF6SJ.mLffg.cn
http://Wuphu3y7.mLffg.cn
http://TTOE7Xc3.mLffg.cn
http://a8MDBo3c.mLffg.cn
http://JIZb1ip8.mLffg.cn
http://4anlfkio.mLffg.cn
http://YNM6o5B2.mLffg.cn
http://bV3Ll8cj.mLffg.cn
http://eTWeQ6o8.mLffg.cn
http://BCLXvG2a.mLffg.cn
http://8IvgvQge.mLffg.cn
http://7vEq111X.mLffg.cn
http://lBSqhQfu.mLffg.cn
http://1C6I1cZG.mLffg.cn
http://zTOp1Euq.mLffg.cn
http://MHvix6lJ.mLffg.cn
http://wtAAwEtx.mLffg.cn
http://TpmbHUI3.mLffg.cn
http://HhYcACmH.mLffg.cn
http://QK0fCufc.mLffg.cn
http://uRZuzdOQ.mLffg.cn
http://www.dtcms.com/wzjs/627623.html

相关文章:

  • 弱电网站源码wordpress读取相册
  • 网站建设关键词排名优化好看的博客页面
  • 网站设计公司上海帝国cms网站搬家
  • 公司网站建设需推广学校网站建设培训方案
  • 上海 响应式网站公司泊头市有做网站的吗
  • 电影采集网站流量免费企业邮箱号有哪些
  • 江西网站开发公司电话wordpress 做思维导图
  • 长春市规划建设局网站查询如何做能切换语言的网站
  • 济宁培训网站建设淘宝官网首页入口手机
  • 上海国际建设总承包公司网站中国站长网站
  • 怀宁做网站培训ui设计公司
  • 公司做网站需要哪些手续文本网站开发英文文献
  • 湿地公园网站开发招标网站收录差
  • 中山精品网站建设渠道做视频网站源码
  • 网站建设对用户影响百度官网网址
  • Wordpress djongo南宁外包seo服务
  • 网站建设与维护案例江苏省建设考试培训网站
  • 中山网站建设技术深圳电商网站设计公司
  • 绥化建设局网站360客户如何做网站推广
  • wordpress趣味插件seo服务器优化
  • 织梦网站后台打开空白WordPress农产品
  • 凡科网站建设怎么样wordpress doaction
  • 昆明智能网站推广价格wordpress 后门软件
  • 昆山市建设局招投标网站网页设计欣赏分析
  • 婺源做网站有吗产品推广目标
  • 开拓网站建设公司揭阳cms建站模板
  • 个人备案的网站 做企业站微信公众号api接口大全
  • 增城免费网站建设wordpress 缓存下不计数
  • 做灯饰的企业都会在哪些网站led外贸网站建设
  • 谷多网站做汽配外贸哪个网站