LogGenericDebug() private method

private LogGenericDebug ( string message, [ previousMethodName = null ) : void
message string
previousMethodName [
return void
Example #1
0
        internal async Task <byte[]> UrlGetToBytesWithProgressRetry(string request, string referer = null)
        {
            if (string.IsNullOrEmpty(request))
            {
                ArchiLogger.LogNullError(nameof(request));
                return(null);
            }

            byte[] result = null;
            for (byte i = 0; (i < MaxTries) && (result == null); i++)
            {
                result = await UrlGetToBytesWithProgress(request, referer).ConfigureAwait(false);
            }

            if (result != null)
            {
                return(result);
            }

            ArchiLogger.LogGenericWarning(string.Format(Strings.ErrorRequestFailedTooManyTimes, MaxTries));
            ArchiLogger.LogGenericDebug(string.Format(Strings.ErrorFailingRequest, request));
            return(null);
        }
        public async Task <ObjectResponse <T> > UrlGetToJsonObject <T>(string request, string referer = null, ERequestOptions requestOptions = ERequestOptions.None, byte maxTries = MaxTries) where T : class
        {
            if (string.IsNullOrEmpty(request) || (maxTries == 0))
            {
                ArchiLogger.LogNullError(nameof(request) + " || " + nameof(maxTries));

                return(null);
            }

            ObjectResponse <T> result = null;

            for (byte i = 0; i < maxTries; i++)
            {
                using StreamResponse response = await UrlGetToStream(request, referer, requestOptions | ERequestOptions.ReturnClientErrors, 1).ConfigureAwait(false);

                // ReSharper disable once UseNullPropagationWhenPossible - false check
                if (response == null)
                {
                    continue;
                }

                if (response.StatusCode.IsClientErrorCode())
                {
                    if (requestOptions.HasFlag(ERequestOptions.ReturnClientErrors))
                    {
                        result = new ObjectResponse <T>(response);
                    }

                    break;
                }

                if (response.Content == null)
                {
                    continue;
                }

                T obj;

                try {
                    using StreamReader streamReader = new StreamReader(response.Content);
                    using JsonReader jsonReader     = new JsonTextReader(streamReader);
                    JsonSerializer serializer = new JsonSerializer();

                    obj = serializer.Deserialize <T>(jsonReader);
                } catch (JsonException e) {
                    ArchiLogger.LogGenericWarningException(e);

                    if (Debugging.IsUserDebugging)
                    {
                        ArchiLogger.LogGenericDebug(string.Format(Strings.Content, response.Content));
                    }

                    continue;
                }

                return(new ObjectResponse <T>(response, obj));
            }

            if (maxTries > 1)
            {
                ArchiLogger.LogGenericWarning(string.Format(Strings.ErrorRequestFailedTooManyTimes, maxTries));
                ArchiLogger.LogGenericDebug(string.Format(Strings.ErrorFailingRequest, request));
            }

            return(result);
        }
Example #3
0
        internal async Task <byte[]> UrlGetToBytesRetry(string request, string referer = null)
        {
            if (string.IsNullOrEmpty(request))
            {
                ArchiLogger.LogNullError(nameof(request));
                return(null);
            }

            byte[] result = null;
            for (byte i = 0; (i < MaxRetries) && (result == null); i++)
            {
                result = await UrlGetToBytes(request, referer).ConfigureAwait(false);
            }

            if (result != null)
            {
                return(result);
            }

            ArchiLogger.LogGenericWarning("Request failed even after " + MaxRetries + " tries");
            ArchiLogger.LogGenericDebug("Failing request: " + request);
            return(null);
        }