<div dir="ltr"><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">So I've decided to start using Undertow, both as an experiment and due to the great results it achieved in benchmark tests. And while I think it's fantastic there's a feature which is either missing or I can't find.</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">I want to develop a RESTful web service so it's important for me to identify which HTTP method is being called. Now I can get this from RequestMethod in the HttpServerExchange parameter but if had to that for every handler that would become tedious.</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">My solution, which works but feels wrong, is this:</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">Created an annotation interface called HTTPMethod:</p><pre class="" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.804801940918px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">@Retention</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">RetentionPolicy</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">RUNTIME</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">@Target</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">ElementType</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">METHOD</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">public</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">@interface</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">public</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">enum</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
OTHER</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">,</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> GET</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">,</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> PUT</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">,</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> POST</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">,</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> DELETE
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">()</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">default</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">OTHER</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span></code></pre><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">an "abstract" class (which is not abstract):</p><pre class="" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;color:rgb(0,0,0);line-height:17.804801940918px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">public</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">abstract</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">class</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">RESTfulHandler</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">implements</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HttpHandler</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">@Override</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">public</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">void</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> handleRequest</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HttpServerExchange</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">throws</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Exception</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">for</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> method </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getClass</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getDeclaredMethods</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">())</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,128,128);background:transparent">// if method is annotated with @Test</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">isAnnotationPresent</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">class</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Annotation</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> annotation </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">=</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getAnnotation</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">class</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> test </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">=</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> annotation</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">switch</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">test</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">())</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">case</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> PUT</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getRequestMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">toString</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">equals</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"PUT"</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">break</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">case</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> POST</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getRequestMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">toString</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">equals</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"POST"</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">break</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">case</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> GET</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getRequestMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">toString</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">equals</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"GET"</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">break</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">case</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> DELETE</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getRequestMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">toString</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">equals</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"DELETE"</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">break</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">case</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> OTHER</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">:</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">hse</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">getRequestMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">toString</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">().</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">equals</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(128,0,0);background:transparent">"OTHER"</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">))</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">break</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">;</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">if</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">test</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">()</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">==</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">HTTPMethod</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(43,145,175);background:transparent">Method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">PUT</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">)</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent"> </span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">{</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
method</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">.</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">invoke</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">(</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;color:rgb(0,0,139);background:transparent">this</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">);</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">
</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background:transparent">}</span></code></pre><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">}</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">and an implementation of both the above:</p><pre class="" style="margin-top:0px;margin-bottom:10px;padding:5px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;overflow:auto;width:auto;max-height:600px;word-wrap:normal;line-height:17.804801940918px;background:rgb(238,238,238)"><code style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,serif;white-space:inherit;background-image:initial;background-repeat:initial"><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">public</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">class</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(43,145,175);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">ItemHandler</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">extends</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(43,145,175);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">RESTfulHandler</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">{</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">@HTTPMethod</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">(</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">method</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">=</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">GET</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">)</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">public</span><span class="" style="margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"><font color="#000000"> </font><font color="#2b91af">void</font></span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> getAllItems</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">()</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">{</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(43,145,175);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">System</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">out</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">println</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">(</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">"GET"</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">);</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">}</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">@HTTPMethod</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">(</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">method</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">=</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">POST</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">)</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">public</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">void</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> addItem</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">()</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">{</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(43,145,175);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">System</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">out</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">println</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">(</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">"POST"</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">);</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">}</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">@HTTPMethod</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">public</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> </span><span class="" style="color:rgb(0,0,139);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">void</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial"> doNothing</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">()</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">{</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(43,145,175);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">System</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">out</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">.</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">println</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">(</span><span class="" style="color:rgb(128,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">"OTHERS"</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">);</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">
</span><span class="" style="color:rgb(0,0,0);margin:0px;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;background-image:initial;background-color:transparent;background-repeat:initial">}</span></code></pre><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">}</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">Now as I said, it works, but I'm sure that the abstract class and it's implementation have something missing so that they glue correctly. So my question is two fold:</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">1) Is there a better / proper way to filter HTTP requests in Undertow? 2) What is the correct way of using annotations correctly correctly in the above case?</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">Thanks</p><p style="margin:0px 0px 1em;padding:0px;border:0px;font-size:13.3333339691162px;vertical-align:baseline;clear:both;color:rgb(0,0,0);font-family:Arial,'Liberation Sans','DejaVu Sans',sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial"><br></p></div>