private void RemoveUrl(UrlData data)
 {
     MainServer.Instance.RemovePollServiceHTTPHandler("", "/lslhttp/" + data.urlcode.ToString() + "/");
 }
        public UUID RequestURL(IScriptModule engine, ISceneChildEntity host, UUID itemID)
        {
            UUID urlcode = UUID.Random();

            lock (m_UrlMap)
            {
                if (m_UrlMap.Count >= m_TotalUrls)
                {
                    engine.PostScriptEvent(itemID, host.UUID, "http_request",
                                           new Object[] {urlcode.ToString(), "URL_REQUEST_DENIED", ""});
                    return urlcode;
                }
                string url = MainServer.Instance.ServerURI + "/lslhttp/" + urlcode.ToString() + "/";

                UrlData urlData = new UrlData
                                      {
                                          hostID = host.UUID,
                                          itemID = itemID,
                                          engine = engine,
                                          url = url,
                                          urlcode = urlcode,
                                          requests = new Dictionary<UUID, RequestData>()
                                      };

                m_UrlMap[url] = urlData;

                string uri = "/lslhttp/" + urlcode.ToString() + "/";
                MainServer.Instance.AddPollServiceHTTPHandler(uri, new PollServiceEventArgs(HttpRequestHandler, HasEvents,
                                                                                       GetEvents, NoEvents,
                                                                                       urlcode));

                engine.PostScriptEvent(itemID, host.UUID, "http_request",
                                       new Object[] {urlcode.ToString(), "URL_REQUEST_GRANTED", url});
            }

            return urlcode;
        }