| 
									
										
										
										
											2015-04-01 15:00:17 +08:00
										 |  |  | package middleware | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"strings" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-01-13 22:11:23 +08:00
										 |  |  | 	"github.com/go-macaron/gzip" | 
					
						
							| 
									
										
										
										
											2016-01-13 22:38:54 +08:00
										 |  |  | 	"gopkg.in/macaron.v1" | 
					
						
							| 
									
										
										
										
											2015-04-01 15:00:17 +08:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func Gziper() macaron.Handler { | 
					
						
							| 
									
										
										
										
											2016-01-13 22:11:23 +08:00
										 |  |  | 	macaronGziper := gzip.Gziper() | 
					
						
							| 
									
										
										
										
											2015-04-01 15:00:17 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	return func(ctx *macaron.Context) { | 
					
						
							|  |  |  | 		requestPath := ctx.Req.URL.RequestURI() | 
					
						
							| 
									
										
										
										
											2015-04-07 19:48:26 +08:00
										 |  |  | 		// ignore datasource proxy requests
 | 
					
						
							| 
									
										
										
										
											2015-04-01 15:00:17 +08:00
										 |  |  | 		if strings.HasPrefix(requestPath, "/api/datasources/proxy") { | 
					
						
							|  |  |  | 			return | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-06-02 15:56:53 +08:00
										 |  |  | 		if strings.HasPrefix(requestPath, "/api/plugin-proxy/") { | 
					
						
							|  |  |  | 			return | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-23 15:35:46 +08:00
										 |  |  | 		if strings.HasPrefix(requestPath, "/metrics") { | 
					
						
							|  |  |  | 			return | 
					
						
							|  |  |  | 		} | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-01 15:00:17 +08:00
										 |  |  | 		ctx.Invoke(macaronGziper) | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } |