minio 兼容postman

25 篇文章 0 订阅
12 篇文章 0 订阅

routers.go

// List of some generic handlers which are applied for all incoming requests.
var globalHandlers = []mux.MiddlewareFunc{
   // filters HTTP headers which are treated as metadata and are reserved
   // for internal use only.
   filterReservedMetadata,
   // Enforce rules specific for TLS requests
   setSSETLSHandler,
   // Auth handler verifies incoming authorization headers and
   // routes them accordingly. Client receives a HTTP error for
   // invalid/unsupported signatures.
   setAuthHandler,
   // Validates all incoming URL resources, for invalid/unsupported
   // resources client receives a HTTP error.
   setIgnoreResourcesHandler,
   // Validates all incoming requests to have a valid date header.
   setTimeValidityHandler,
   // Adds cache control for all browser requests.
   setBrowserCacheControlHandler,
   // Validates if incoming request is for restricted buckets.
   setReservedBucketHandler,
   // Redirect some pre-defined browser request paths to a static location prefix.
   setBrowserRedirectHandler,
   // Adds 'crossdomain.xml' policy handler to serve legacy flash clients.
   setCrossDomainPolicy,
   // Limits all header sizes to a maximum fixed limit
   setRequestHeaderSizeLimitHandler,
   // Limits all requests size to a maximum fixed limit
   setRequestSizeLimitHandler,
   // Network statistics
   setHTTPStatsHandler,
   // Validate all the incoming requests.
   setRequestValidityHandler,
   // Forward path style requests to actual host in a bucket federated setup.
   setBucketForwardingHandler,
   // set HTTP security headers such as Content-Security-Policy.
   addSecurityHeaders,
   // set x-amz-request-id header.
   addCustomHeaders,
   // add redirect handler to redirect
   // requests when object layer is not
   // initialized.
   setRedirectHandler,
   // Add new handlers here.
}

 

mux.go

ServeHTTP(){

if r.Match(req, &match) {

handler = match.Handler

req = requestWithVars(req, match.Vars)

req = requestWithRoute(req, match.Route)

}

}

如果是postman传过去heder里面会有Postman-Token这个key

if r.Header.Get("Postman-Token") != "" {
   for _, key := range []string{
      "Sec-Ch-Ua-Mobile",
      "Sec-Fetch-Site",
      "Sec-Ch-Ua",
      "Sec-Fetch-Dest",
      "Accept-Encoding",
      "Sec-Fetch-Mode",
      "Connection",
      "Cache-Control",
      "Accept",
      "Accept-Language",
   } {
      r.Header.Del(key)
   }
   r.Header.Set("User-Agent", "MinIO (darwin; amd64) madmin-go/0.0.1 ___go_build_github_com_minio_mc/DEVELOPMENT.GOGET")
}

这样在开启browser功能时,不会认为postman请求是browser请求。

这样就兼容了postman代替mc发送请求

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值