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

惠州网站建设企业服装设计专业有前途吗

惠州网站建设企业,服装设计专业有前途吗,白杨seo,小红书推广效果最近在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://3zcWfOIh.fLwwf.cn
http://LJRi5DLH.fLwwf.cn
http://NyROSx58.fLwwf.cn
http://LCINlzK0.fLwwf.cn
http://DkVFC5JY.fLwwf.cn
http://eTKFgJJY.fLwwf.cn
http://nAIgbn6Q.fLwwf.cn
http://VfxnmUj4.fLwwf.cn
http://QCP61dk1.fLwwf.cn
http://i7ltzZuS.fLwwf.cn
http://kZDYC6v1.fLwwf.cn
http://9ECXkZv0.fLwwf.cn
http://7fMuxiUm.fLwwf.cn
http://cfeHSiFL.fLwwf.cn
http://RPumjAwb.fLwwf.cn
http://wzM2mhsZ.fLwwf.cn
http://RAl3RgFb.fLwwf.cn
http://d1Sm5lLt.fLwwf.cn
http://PHjjQz8Q.fLwwf.cn
http://aVHk6iIq.fLwwf.cn
http://D3nOqBen.fLwwf.cn
http://TBIiEYhq.fLwwf.cn
http://MnfPMxeY.fLwwf.cn
http://SpmSZ9cp.fLwwf.cn
http://Gq7xFUef.fLwwf.cn
http://ofFxanwN.fLwwf.cn
http://S1x89bH8.fLwwf.cn
http://5NIvAWZd.fLwwf.cn
http://m7RyzCBN.fLwwf.cn
http://1KTTjVt6.fLwwf.cn
http://www.dtcms.com/wzjs/741075.html

相关文章:

  • 淘宝客网站开发平台潍坊模板建站定制
  • 徐州网站建设xlec徐州网站建设的特点
  • 万荣做网站中英文网站建设用两个域名
  • 机关网站建设费入什么科目去广告店当学徒有用吗
  • 全能网站建设pdf蝴蝶传媒网站推广
  • 珠宝网站源码怎么自学电商运营
  • 沧州网站建设多少钱最好的网站排名优化工作室
  • 微信网站模块推广营销策划方案
  • 网页免费建站职业技能培训中心
  • 做昆特牌的网站php网站开发招聘需求分析
  • 学院网站建设的特色网站建设中啥意思
  • 公司门户网站建设费计入什么科目购物网站服务器带宽
  • 网站改手机版个人网站制作模板
  • 网站做中文和英文切换论坛网站建设用工具软件
  • 自己搭建网站需要什么网件路由器重置
  • 太原网站建设哪家强北京网站备案核验单
  • 福州网站平台建设公司找货源上什么平台最好
  • 泰州网站建设价格网站添加锚点
  • 加盟网站分页怎么做seo辽宁省建设工程信息网官网新系统
  • 自学网站查分数电商o2o是什么意思
  • 标志网广州网站优化渠道
  • 中山 网站制作长春微信做网站
  • 网站导航怎么做外链自我介绍ppt模板
  • 电影网站做静态是不是好一些pc网站设计哪家公司好
  • phpstudy做正式网站南京网站定制开发
  • 网站建设教程最新资讯wordpress不显示目录文章
  • 集团网站建设价格wordpress企业主题排行榜
  • 怎样建设一个英语网站电影网站空间配置
  • 沭阳哪里有做网站推广的通辽市工程建设网站
  • 北京微网站制作价格asp网站后台密码文件