Example #1
0
        public IEnumerator AsyncSend()
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Accept", "application/json");
            headers.Add("Content-Type", "application/json; charset=utf-8");
            headers.Add("X-Sentry-Auth", m_dsn.XSentryAuthHeader());
            headers.Add("User-Agent", m_dsn.UserAgent());

            if (m_option.compression)
            {
                headers.Add("Content-Encoding", "gzip");
            }

            byte[] requestBuffer = null;
            using (MemoryStream requestStream = new MemoryStream())
            {
                if (m_option.compression)
                {
                    byte[] payloadBuffer = System.Text.Encoding.UTF8.GetBytes(m_payload);
                    using (GZipOutputStream gzipStream = new GZipOutputStream(requestStream))
                    {
                        gzipStream.Write(payloadBuffer, 0, payloadBuffer.Length);
                    }
                }
                else
                {
                    using (StreamWriter streamWriter = new StreamWriter(requestStream))
                    {
                        streamWriter.Write(m_payload);
                    }
                }
                requestBuffer = requestStream.ToArray();
            }

            startTime  = Time.time;
            uwr        = new UnityWebRequest(m_dsn.sentryUri);
            uwr.method = "POST";
            foreach (var head in headers)
            {
                uwr.SetRequestHeader(head.Key, head.Value);
            }
            UploadHandler uploader = new UploadHandlerRaw(requestBuffer);

            uwr.uploadHandler = uploader;
            yield return(uwr.SendWebRequest());
        }
Example #2
0
        public IEnumerator AsyncSend()
        {
            Dictionary <string, string> headers = new Dictionary <string, string>();

            headers.Add("Accept", "application/json");
            headers.Add("Content-Type", "application/json; charset=utf-8");
            headers.Add("X-Sentry-Auth", m_dsn.XSentryAuthHeader());
            headers.Add("User-Agent", m_dsn.UserAgent());

            if (m_option.compression)
            {
                headers.Add("Content-Encoding", "gzip");
            }

            byte[] requestBuffer = null;
            using (MemoryStream requestStream = new MemoryStream())
            {
                if (m_option.compression)
                {
                    byte[] payloadBuffer = System.Text.Encoding.UTF8.GetBytes(m_payload);
                    using (GZipOutputStream gzipStream = new GZipOutputStream(requestStream))
                    {
                        gzipStream.Write(payloadBuffer, 0, payloadBuffer.Length);
                    }
                }
                else
                {
                    using (StreamWriter streamWriter = new StreamWriter(requestStream))
                    {
                        streamWriter.Write(m_payload);
                    }
                }
                requestBuffer = requestStream.ToArray();
            }

            startTime = Time.time;
            www       = new WWW(m_dsn.sentryUri, requestBuffer, headers);
            yield return(www);
        }