public Status HttpPost(HostNameAndPort hostName, string model, byte deviceID, ActionType action, byte [] file, out string response, int timeout = 2000)
        {
            Status retval = Status.Ok;

            string ip = hostName.ToString();

            /* init outputs */
            response = string.Empty;

            /* build URI to send */
            string extraOptions = string.Empty;
            string builtUrl     = BuildURI(ip, model, deviceID, action, extraOptions);

            /* attempt sending */
            try { response = SendHttpPost(builtUrl, file, timeout); }
            catch (WebException we)
            {
                Debug.Print("HTTP", we.ToString());
                retval = Status.TimedOut;
            }
            catch (Exception e)
            {
                Debug.Print("HTTP", e.ToString());
                retval = Status.BadParam;
            }

            /* telemtry */
            Telemetry.GetInstance().Push(new Telemetry.ExchangeLog("POST", builtUrl, response, action));

            /* give caller the response */
            return(retval);
        }
Ejemplo n.º 2
0
        public Status StartHttpGet(HostNameAndPort hostName, string model, byte deviceID, ActionType action, int timeout = 2000, string extraParams = "")
        {
            if (_thread != null)
            {
                return(Status.Busy);
            }

            _params.hostName    = hostName;
            _params.model       = model;
            _params.deviceID    = deviceID;
            _params.action      = action;
            _params.timeout     = timeout;
            _params.extraParams = extraParams;

            _params.isPOST = false;

            _isDone.Reset();

            _thread = new dotNET.Thread(ExecuteTask);
            _thread.Start();

            return(Status.Ok);
        }