<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>HttpServerEncoder xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/http/HttpServerEncoder.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *  </em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> *  </em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  <em class="jxr_comment"> *  under the License. </em>
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <em class="jxr_comment"> *  </em>
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.http;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteBuffer;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharsetEncoder;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.StandardCharsets;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.filter.codec.ProtocolEncoder;
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.filter.codec.ProtocolEncoderOutput;
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.http.api.HttpEndOfContent;
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.http.api.HttpResponse;
<a class="jxr_linenumber" name="L33" href="#L33">33</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a class="jxr_linenumber" name="L35" href="#L35">35</a>  
<a class="jxr_linenumber" name="L36" href="#L36">36</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  <em class="jxr_javadoccomment"> * An encoder for the HTTP server</em>
<a class="jxr_linenumber" name="L38" href="#L38">38</a>  <em class="jxr_javadoccomment"> * </em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a name="HttpServerEncoder" href="../../../../org/apache/mina/http/HttpServerEncoder.html#HttpServerEncoder">HttpServerEncoder</a> <strong class="jxr_keyword">implements</strong> <a name="ProtocolEncoder" href="../../../../org/apache/mina/filter/codec/ProtocolEncoder.html#ProtocolEncoder">ProtocolEncoder</a> {
<a class="jxr_linenumber" name="L42" href="#L42">42</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Logger LOGGER = LoggerFactory.getLogger(HttpServerCodec.<strong class="jxr_keyword">class</strong>);
<a class="jxr_linenumber" name="L43" href="#L43">43</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> CharsetEncoder ENCODER = StandardCharsets.UTF_8.newEncoder();
<a class="jxr_linenumber" name="L44" href="#L44">44</a>  
<a class="jxr_linenumber" name="L45" href="#L45">45</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L46" href="#L46">46</a>  <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L48" href="#L48">48</a>      @Override
<a class="jxr_linenumber" name="L49" href="#L49">49</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> encode(<a name="IoSession" href="../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session, Object message, <a name="ProtocolEncoderOutput" href="../../../../org/apache/mina/filter/codec/ProtocolEncoderOutput.html#ProtocolEncoderOutput">ProtocolEncoderOutput</a> out) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L50" href="#L50">50</a>          <strong class="jxr_keyword">if</strong> (LOGGER.isDebugEnabled()) {
<a class="jxr_linenumber" name="L51" href="#L51">51</a>              LOGGER.debug(<span class="jxr_string">"encode {}"</span>, message.getClass().getCanonicalName());
<a class="jxr_linenumber" name="L52" href="#L52">52</a>          }
<a class="jxr_linenumber" name="L53" href="#L53">53</a>      
<a class="jxr_linenumber" name="L54" href="#L54">54</a>          <strong class="jxr_keyword">if</strong> (message instanceof <a name="HttpResponse" href="../../../../org/apache/mina/http/api/HttpResponse.html#HttpResponse">HttpResponse</a>) {
<a class="jxr_linenumber" name="L55" href="#L55">55</a>              <strong class="jxr_keyword">if</strong> (LOGGER.isDebugEnabled()) {
<a class="jxr_linenumber" name="L56" href="#L56">56</a>                  LOGGER.debug(<span class="jxr_string">"HttpResponse"</span>);
<a class="jxr_linenumber" name="L57" href="#L57">57</a>              }
<a class="jxr_linenumber" name="L58" href="#L58">58</a>              
<a class="jxr_linenumber" name="L59" href="#L59">59</a>              <a name="HttpRespons<a name="HttpResponse" href="../../../../org/apache/mina/http/api/HttpResponse.html#HttpResponse">HttpResponse</a>../../../org/apache/mina/http/api/HttpResponse.html#HttpResponse">HttpResponse</a> msg = (<a name="HttpResponse" href="../../../../org/apache/mina/http/api/HttpResponse.html#HttpResponse">HttpResponse</a>) message;
<a class="jxr_linenumber" name="L60" href="#L60">60</a>              StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder(msg.getStatus().line());
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  
<a class="jxr_linenumber" name="L62" href="#L62">62</a>              <strong class="jxr_keyword">for</strong> (Map.Entry&lt;String, String&gt; header : msg.getHeaders().entrySet()) {
<a class="jxr_linenumber" name="L63" href="#L63">63</a>                  sb.append(header.getKey());
<a class="jxr_linenumber" name="L64" href="#L64">64</a>                  sb.append(<span class="jxr_string">": "</span>);
<a class="jxr_linenumber" name="L65" href="#L65">65</a>                  sb.append(header.getValue());
<a class="jxr_linenumber" name="L66" href="#L66">66</a>                  sb.append(<span class="jxr_string">"\r\n"</span>);
<a class="jxr_linenumber" name="L67" href="#L67">67</a>              }
<a class="jxr_linenumber" name="L68" href="#L68">68</a>              
<a class="jxr_linenumber" name="L69" href="#L69">69</a>              sb.append(<span class="jxr_string">"\r\n"</span>);
<a class="jxr_linenumber" name="L70" href="#L70">70</a>              <a name="IoBuffer" href="../../../../org/apache/mina/core/buffer/IoBuffer.html#IoBuffer">IoBuffer</a> buf = IoBuffer.allocate(sb.length()).setAutoExpand(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="L71" href="#L71">71</a>              buf.putString(sb.toString(), ENCODER);
<a class="jxr_linenumber" name="L72" href="#L72">72</a>              buf.flip();
<a class="jxr_linenumber" name="L73" href="#L73">73</a>              out.write(buf);
<a class="jxr_linenumber" name="L74" href="#L74">74</a>          } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (message instanceof ByteBuffer) {
<a class="jxr_linenumber" name="L75" href="#L75">75</a>              <strong class="jxr_keyword">if</strong> (LOGGER.isDebugEnabled()) {
<a class="jxr_linenumber" name="L76" href="#L76">76</a>                  LOGGER.debug(<span class="jxr_string">"Body {}"</span>, message);
<a class="jxr_linenumber" name="L77" href="#L77">77</a>              }
<a class="jxr_linenumber" name="L78" href="#L78">78</a>              
<a class="jxr_linenumber" name="L79" href="#L79">79</a>              out.write(message);
<a class="jxr_linenumber" name="L80" href="#L80">80</a>          } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (message instanceof <a name="HttpEndOfContent" href="../../../../org/apache/mina/http/api/HttpEndOfContent.html#HttpEndOfContent">HttpEndOfContent</a>) {
<a class="jxr_linenumber" name="L81" href="#L81">81</a>              <strong class="jxr_keyword">if</strong> (LOGGER.isDebugEnabled()) {
<a class="jxr_linenumber" name="L82" href="#L82">82</a>                  LOGGER.debug(<span class="jxr_string">"End of Content"</span>);
<a class="jxr_linenumber" name="L83" href="#L83">83</a>              }
<a class="jxr_linenumber" name="L84" href="#L84">84</a>              <em class="jxr_comment">// end of HTTP content</em>
<a class="jxr_linenumber" name="L85" href="#L85">85</a>              <em class="jxr_comment">// keep alive ?</em>
<a class="jxr_linenumber" name="L86" href="#L86">86</a>          }
<a class="jxr_linenumber" name="L87" href="#L87">87</a>      }
<a class="jxr_linenumber" name="L88" href="#L88">88</a>  
<a class="jxr_linenumber" name="L89" href="#L89">89</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="L91" href="#L91">91</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L92" href="#L92">92</a>      @Override
<a class="jxr_linenumber" name="L93" href="#L93">93</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> dispose(<a name="IoSession" href="../../../../org/apache/mina/core/session/IoSession.html#IoSession">IoSession</a> session) <strong class="jxr_keyword">throws</strong> Exception {
<a class="jxr_linenumber" name="L94" href="#L94">94</a>          <em class="jxr_comment">// TODO Auto-generated method stub</em>
<a class="jxr_linenumber" name="L95" href="#L95">95</a>      }
<a class="jxr_linenumber" name="L96" href="#L96">96</a>  }
</pre>
<hr/>
<div id="footer">Copyright &#169; 2004&#x2013;2019 <a href="http://mina.apache.org/">Apache MINA Project</a>. All rights reserved.</div>
</body>
</html>
