13
13
from urllib .request import (
14
14
build_opener , HTTPHandler , HTTPRedirectHandler , Request ,
15
15
)
16
+ import warnings
16
17
from wsgiref .simple_server import make_server , WSGIRequestHandler , WSGIServer
17
18
18
19
from .openmetrics import exposition as openmetrics
@@ -97,10 +98,10 @@ def redirect_request(self, req, fp, code, msg, headers, newurl):
97
98
def _bake_output (registry , accept_header , accept_encoding_header , params , disable_compression ):
98
99
"""Bake output for metrics output."""
99
100
# Choose the correct plain text format of the output.
100
- formatter , content_type = choose_formatter (accept_header )
101
+ encoder , content_type = choose_encoder (accept_header )
101
102
if 'name[]' in params :
102
103
registry = registry .restricted_registry (params ['name[]' ])
103
- output = formatter (registry )
104
+ output = encoder (registry )
104
105
headers = [('Content-Type' , content_type )]
105
106
# If gzip encoding required, gzip the output.
106
107
if not disable_compression and gzip_accepted (accept_encoding_header ):
@@ -237,7 +238,7 @@ def sample_line(line):
237
238
return '' .join (output ).encode ('utf-8' )
238
239
239
240
240
- def choose_formatter (accept_header : str ) -> Tuple [Callable [[CollectorRegistry ], bytes ], str ]:
241
+ def choose_encoder (accept_header : str ) -> Tuple [Callable [[CollectorRegistry ], bytes ], str ]:
241
242
accept_header = accept_header or ''
242
243
for accepted in accept_header .split (',' ):
243
244
if accepted .split (';' )[0 ].strip () == 'application/openmetrics-text' :
@@ -246,6 +247,15 @@ def choose_formatter(accept_header: str) -> Tuple[Callable[[CollectorRegistry],
246
247
return generate_latest , CONTENT_TYPE_LATEST
247
248
248
249
250
+ def choose_formatter (accept_header : str ) -> Tuple [Callable [[CollectorRegistry ], bytes ], str ]:
251
+ warnings .warn (
252
+ "choose_formatter is deprecated and will be removed in 0.15.0, please use choose_encoder instead" ,
253
+ DeprecationWarning ,
254
+ stacklevel = 2
255
+ )
256
+ return choose_encoder (accept_header )
257
+
258
+
249
259
def gzip_accepted (accept_encoding_header : str ) -> bool :
250
260
accept_encoding_header = accept_encoding_header or ''
251
261
for accepted in accept_encoding_header .split (',' ):
0 commit comments