<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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">So I&#39;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&#39;s fantastic there&#39;s a feature which is either missing or I can&#39;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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">I want to develop a RESTful web service so it&#39;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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">an &quot;abstract&quot; 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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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">&quot;PUT&quot;</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">&quot;POST&quot;</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">&quot;GET&quot;</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">&quot;DELETE&quot;</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">&quot;OTHER&quot;</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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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,&#39;Lucida Console&#39;,&#39;Liberation Mono&#39;,&#39;DejaVu Sans Mono&#39;,&#39;Bitstream Vera Sans Mono&#39;,&#39;Courier New&#39;,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">&quot;GET&quot;</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">&quot;POST&quot;</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">&quot;OTHERS&quot;</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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial">Now as I said, it works, but I&#39;m sure that the abstract class and it&#39;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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,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,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;line-height:17.804801940918px;background-image:initial;background-repeat:initial"><br></p></div>