libmicrohttpd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [libmicrohttpd] How to avoid the "Internal application error, closin


From: silvioprog
Subject: Re: [libmicrohttpd] How to avoid the "Internal application error, closing connection" message when AHC = NO?
Date: Mon, 14 Mar 2016 11:29:43 -0300

On Mon, Mar 14, 2016 at 11:03 AM, Kenneth Mastro <address@hidden> wrote:
I don't know anything about using external loggers with MHD and this isn't really any of my business, but filtering log messages based on the string seems like a bad idea.  That string could change in future releases (plus I guess you're doing extra string comparisons, but I doubt that amounts to very much).

I agree. And filtering/handling logs/errors using strings is a little bit slow.
 
If MHD doesn't provide some kind of 'message code' or a #define constant for the string (so you could compare it to something consistent), then maybe you could just log an extra message before you return MHD_NO?  E.g., "Ignore the following message - there is no error - connection was intentionally refused."

I use this approach too, and I have a code for each message. It is very nice because I can check the messagens using the `switch` statement.

Unfortunatelly MHD doesn't have error codes, but a quick fix to solve this problem keeping the compatibility could be define this strings in constants, so it would be nice to use something like this:

if (msg != MHD_internal_app_error)
 ...

Instead of:

if (msg != "Internal application error, closing connection.\n")
 ...

Maybe it's just me, but I always try to promote easy maintenance and avoid fragility whenever it's reasonably possible.  This seems like one of those times, albeit for a pretty minor thing.

Me too. It should be:

if (msg_code != MHD_code_internal_app_error)
 ...

// MHD_msg_internal_app_error = "Internal application error, closing connection.\n"
// MHD_code_internal_app_error = 1000

--
Silvio Clécio

reply via email to

[Prev in Thread] Current Thread [Next in Thread]