From 2aabe59373c29410c00ae59cd86cb475c961b56c Mon Sep 17 00:00:00 2001 From: Aleksey Veresov Date: Mon, 13 Jul 2020 08:33:09 +0300 Subject: magi_response_send, urlenc docs. --- man/magi.3 | 16 +++++++++++++--- man/magi_urlenc.3 | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+), 3 deletions(-) (limited to 'man') diff --git a/man/magi.3 b/man/magi.3 index fcf6679..2db61b4 100644 --- a/man/magi.3 +++ b/man/magi.3 @@ -23,12 +23,22 @@ Main task of the library is to analyse CGI request and represent it to the user in .B magi_request data structure. This is done by calling -.B magi_parse +.B magi_parse_head +and +.B magi_parse_body +(such separation allows to determine body processing on head content, +if there is no need to do so you can use shortcut +.BR magi_parse ) on initialized via .B magi_request_init request variable. After initialization the user is able to configure -limits on the input and setup callback to process files loaded as -.IR multipart/form-data . +limits on the input +.RB ( magi_request_limits , +everything is unlimited as default) +and setup callback to process files loaded as +.I multipart/form-data +.RB ( magi_file_callback , +with default addon_max of 1KB). The .B magi library comes with diff --git a/man/magi_urlenc.3 b/man/magi_urlenc.3 index e69de29..ac0c798 100644 --- a/man/magi_urlenc.3 +++ b/man/magi_urlenc.3 @@ -0,0 +1,51 @@ +.TH MAGI 3 2020-05-02 v0.0.1 "Library Manual" +.SH NAME +.B magi_urlenc +\- implementation of url encoding +.SH SYNOPSYS +.B #include +.P +int +.BR magi_urlenc_size "(const char *" plain ); +.P +void +.BR magi_urlenc "(const char *" plain ", char *" code ); +.SH DESCRIPTION +Can be helpful in forming urls in response. Use +.B magi_urlenc_size +to find what the size of code will be and then call +.B magi_urlenc +for encoding itself. +.P +URL encoding is described in +.IR "RFC 3986" . +Briefly it is changing every space into plus sign and every not +alpha-numerical or not one of "~-._" character into percent sign +followed by hexademical representation of given character byte. +.P +.B code +passed to +.B magi_urlenc +should be at least size of +.BR magi_urlenc_size ( plain ). +.SH RETURN VALUES +.BR magi_urlenc_size : +size of url encoding of +.BR plain . +.SH EXAMPLES +The following forms URL to search in DuckDuckGo for provided +.RB "char *" query +in +.RB "char *" url . +.P +.RS +.nf +const char *prefix = "http://duckduckgo.com/?q="; +const int prelen = strlen(prefix); +const int urlencsize = magi_urlenc_size(query); +url = malloc(prelen + urlencsize + 1); +strcpy(url, prefix); +magi_urlenc(query, url + prelen); +url[prelen + urlencsize] = 0; +.fi +.RE -- cgit v1.2.3