Skip to content

WARNING: Addition of the standard header "Pragma" is discouraged #224

@pavelhoral

Description

@pavelhoral

Accessing some REST endpoints (e.g. OAuth2) ends up logging the following warning:

Aug 26, 2025 12:38:52 PM org.restlet.engine.header.HeaderUtils addExtensionHeaders
WARNING: Addition of the standard header "Pragma" is discouraged as a future version of the Restlet API will directly support it.

This clutters the log which is undesirable behavior. I did place breakpoint where the warning is being logged while accessing /oauth2/authorize to get the following stack trace:

Details
Thread [http-nio-8080-exec-5] (Suspended (breakpoint at line 148 in HeaderUtils))	
	HeaderUtils.addExtensionHeaders(Series<Header>, Series<Header>) line: 148	
	HeaderUtils.addResponseHeaders(Response, Series<Header>) line: 474	
	ServletServerAdapter(ServerAdapter).addResponseHeaders(HttpResponse) line: 63	
	ServletServerAdapter(ServerAdapter).commit(HttpResponse) line: 140	
	HttpServerHelper.handle(ServerCall) line: 119	
	RestletServiceServlet(ServerServlet).service(HttpServletRequest, HttpServletResponse) line: 1072	
	RestEndpointServlet.service(HttpServletRequest, HttpServletResponse) line: 130	
	RestEndpointServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 710	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 130	
	WsFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 53	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	ResponseValidationFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 44	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	SetHeadersFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 88	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	FQDNValidationFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 63	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	AMSetupFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 111	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	AuditContextFilter.doFilter(ServletRequest, ServletResponse, FilterChain) line: 51	
	ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 109	
	StandardWrapperValve.invoke(Request, Response) line: 167	
	StandardContextValve.invoke(Request, Response) line: 79	
	NonLoginAuthenticator(AuthenticatorBase).invoke(Request, Response) line: 483	
	StandardHostValve.invoke(Request, Response) line: 116	
	ErrorReportValve.invoke(Request, Response) line: 93	
	AccessLogValve(AbstractAccessLogValve).invoke(Request, Response) line: 666	
	StandardEngineValve.invoke(Request, Response) line: 74	
	CoyoteAdapter.service(Request, Response) line: 343	
	Http11Processor.service(SocketWrapperBase<?>) line: 396	
	Http11Processor(AbstractProcessorLight).process(SocketWrapperBase<?>, SocketEvent) line: 63	
	AbstractProtocol$ConnectionHandler<S>.process(SocketWrapperBase<S>, SocketEvent) line: 903	
	NioEndpoint$SocketProcessor.doRun() line: 1773	
	NioEndpoint$SocketProcessor(SocketProcessorBase<S>).run() line: 52	
	ThreadPoolExecutor.runWorker(ThreadPoolExecutor$Worker) line: 1149	
	ThreadPoolExecutor$Worker.run() line: 637	
	TaskThread$WrappingRunnable.run() line: 59	
	TaskThread(Thread).runWith(Object, Runnable) line: 1596	
	TaskThread(Thread).run() line: 1583	

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions