function MoblogRequest($request)
 {
     $this->Object();
     $this->_message = $request["message"];
     // it is possible to specify a default user id in the POSTed email message via
     // curl, so that the amount of stuff that we need to type in the email is reduced
     // to only the user password. This basically means that email addresses configured to be used
     // by a default user and blog id cannot be used as 'gateways'
     $this->_blogId = $request["blogId"];
     $this->_user = $request["user"];
     MoblogLogger::log("From REQUEST: user = "******" - blogId = " . $this->_blogId);
     // parse the mime message
     $decode = new Mail_mimeDecode($this->_message, "\r\n");
     $structure = $decode->decode(array("include_bodies" => true, "decode_bodies" => true, "decode_headers" => true));
     // get the reply address, it might be in different headers
     if (isset($structure->headers['x-loop'])) {
         $this->_replyAddress = "";
     } else {
         $replyTo1 = $structure->headers['from'];
         $replyTo2 = $structure->headers['return-path'];
         $this->_replyAddress = $replyTo2 != "" ? $replyTo2 : $replyTo1;
     }
     // parse the body
     $this->parseBody($structure->body);
     $this->_inputEncoding = strtoupper($structure->ctype_parameters['charset']);
     MoblogLogger::log("There are " . count($structure->parts) . " MIME parts available to parse");
     $this->parseMimeParts($structure->parts);
     // if there was no subject specified, then let's see if there was something in the
     // 'subject' line...
     if ($this->_topic == "") {
         $this->_topic = $structure->headers['subject'];
         if ($this->_topic == "" || stristr($this->_topic, "pass:"******"") {
                 $this->_topic = "No Topic";
             }
         }
     }
     MoblogLogger::Log("subject is = " . $this->_topic);
 }