The joys of documentation

domm on 2005-03-10T13:57:21

Yesterday I brought doc coverage of our application framework from 0 to 39.83%. Yay! And that's proper documentation, not just adding stub =head3 methodname to fool Pod::Coverage...

I also wrote some docs on general architecture, basic concepts etc. Unfourtunantly, I cannot measure those. And I fear that most of the real important docs are missing in those hard-to-define domains..Then there are a lot of templates and config settings to document... I'm currently thinking of writing a fake module that has an empty sub for each template and each config entry, so that Pod::Coverage can forc^whelp me to document them. Hmm, we'll see...

Oh, today I continued documentation and found a quite tricky bug: If an error occures, the error message is stored in an err_header_out http header field and the server returns 500. Our ErrorDocument error handler catches those errors and generates a nice error page. But I discovered that it did't generate proper headers, it just sent the content to the client. So I added send_http_header. And suddenly I got header fields in the response body!.

After a little investigation (lwp-request++) I found the cause of the bug. If the error message contains a newline, that newline is printed in the err_header_out header field. And thus terminating the http header. Yuck. Now, after a s/\n/<br>/gs everything works.