001package io.prometheus.client; 002 003import io.prometheus.client.servlet.common.adapter.FilterConfigAdapter; 004import io.prometheus.client.servlet.common.adapter.HttpServletRequestAdapter; 005import io.prometheus.client.servlet.common.adapter.HttpServletResponseAdapter; 006import io.prometheus.client.servlet.common.adapter.ServletConfigAdapter; 007 008import javax.servlet.FilterConfig; 009import javax.servlet.ServletConfig; 010import javax.servlet.http.HttpServletRequest; 011import javax.servlet.http.HttpServletResponse; 012import java.io.IOException; 013import java.io.PrintWriter; 014 015public class Adapter { 016 017 private static class HttpServletRequestAdapterImpl implements HttpServletRequestAdapter { 018 019 private final HttpServletRequest delegate; 020 021 HttpServletRequestAdapterImpl(HttpServletRequest delegate) { 022 this.delegate = delegate; 023 } 024 025 @Override 026 public String getHeader(String name) { 027 return delegate.getHeader(name); 028 } 029 030 @Override 031 public String getRequestURI() { 032 return delegate.getRequestURI(); 033 } 034 035 @Override 036 public String getMethod() { 037 return delegate.getMethod(); 038 } 039 040 @Override 041 public String[] getParameterValues(String name) { 042 return delegate.getParameterValues(name); 043 } 044 045 @Override 046 public String getContextPath() { 047 return delegate.getContextPath(); 048 } 049 } 050 051 private static class HttpServletResponseAdapterImpl implements HttpServletResponseAdapter { 052 053 private final HttpServletResponse delegate; 054 055 HttpServletResponseAdapterImpl(HttpServletResponse delegate) { 056 this.delegate = delegate; 057 } 058 059 @Override 060 public void setStatus(int httpStatusCode) { 061 delegate.setBufferSize(httpStatusCode); 062 } 063 064 @Override 065 public void setContentType(String contentType) { 066 delegate.setContentType(contentType); 067 } 068 069 @Override 070 public PrintWriter getWriter() throws IOException { 071 return delegate.getWriter(); 072 } 073 074 @Override 075 public int getStatus() { 076 return delegate.getStatus(); 077 } 078 } 079 080 private static class FilterConfigAdapterImpl implements FilterConfigAdapter { 081 082 private final FilterConfig delegate; 083 084 private FilterConfigAdapterImpl(FilterConfig delegate) { 085 this.delegate = delegate; 086 } 087 088 @Override 089 public String getInitParameter(String name) { 090 return delegate.getInitParameter(name); 091 } 092 } 093 094 private static class ServletConfigAdapterImpl implements ServletConfigAdapter { 095 096 final ServletConfig delegate; 097 098 private ServletConfigAdapterImpl(ServletConfig delegate) { 099 this.delegate = delegate; 100 } 101 102 @Override 103 public String getInitParameter(String name) { 104 return delegate.getInitParameter(name); 105 } 106 } 107 108 public static HttpServletRequestAdapter wrap(HttpServletRequest req) { 109 return new HttpServletRequestAdapterImpl(req); 110 } 111 112 public static HttpServletResponseAdapter wrap(HttpServletResponse resp) { 113 return new HttpServletResponseAdapterImpl(resp); 114 } 115 116 public static FilterConfigAdapter wrap(FilterConfig filterConfig) { 117 return new FilterConfigAdapterImpl(filterConfig); 118 } 119 120 public static ServletConfigAdapter wrap(ServletConfig servletConfig) { 121 return new ServletConfigAdapterImpl(servletConfig); 122 } 123}