title: Dart: Get POST parameters on server side
body: <p>I send some data from client side using POST request</p>
  
  <pre><code>var value = new Map&lt;String, String&gt;();
  value["param1"] = 'value1';
  value["param2"] = 'value2';
  value["param3"] = 'value3';
  
  HttpRequest.postFormData('http://localhost:8080/', value);
  </code></pre>
  
  <p>and try to get this data on the server side:</p>
  
  <pre><code>HttpServer.bind(InternetAddress.ANY_IP_V6, 8080).then((server) {
      server.listen((HttpRequest request) {
          //TODO: process POST request
      });
  });
  </code></pre>
  
  <p>But how can I get POST values from the request as Map&lt; string, string>?</p>
  
  <p><strong>upd 1</strong></p>
  
  <p>But as I see result of</p>
  
  <pre><code>var jsonString = await request.transform(UTF8.decoder).join();
  </code></pre>
  
  <p>depends on type of post message. If I change it result will be</p>
  
  <p><strong>multipart/form-data</strong></p>
  
  <pre><code>------WebKitFormBoundaryoQQD7N0iA5zS8qmg
  Content-Disposition: form-data; name="param1"
  
  value 1
  ------WebKitFormBoundaryoQQD7N0iA5zS8qmg
  Content-Disposition: form-data; name="param2"
  
  value 2
  ------WebKitFormBoundaryoQQD7N0iA5zS8qmg
  Content-Disposition: form-data; name="param3"
  
  value 3
  ------WebKitFormBoundaryoQQD7N0iA5zS8qmg--
  </code></pre>
  
  <p><strong>text/plain</strong></p>
  
  <pre><code>param1=value 1
  param2=value 2
  param3=value 3
  </code></pre>
  
  <p><strong>application/x-www-form-urlencoded</strong></p>
  
  <pre><code>param1=value+1&amp;param2=value+2&amp;param3=value+3
  </code></pre>
  
  <p>As I have already asked how can I convert it to Map&lt; string, string>?</p>