libmicrohttpd2

HTTP server C library (MHD 2.x, alpha)
Log | Files | Refs | README | LICENSE

mhd_post_result.h (4485B)


      1 /* SPDX-License-Identifier: LGPL-2.1-or-later OR (GPL-2.0-or-later WITH eCos-exception-2.0) */
      2 /*
      3   This file is part of GNU libmicrohttpd.
      4   Copyright (C) 2024 Evgeny Grin (Karlson2k)
      5 
      6   GNU libmicrohttpd is free software; you can redistribute it and/or
      7   modify it under the terms of the GNU Lesser General Public
      8   License as published by the Free Software Foundation; either
      9   version 2.1 of the License, or (at your option) any later version.
     10 
     11   GNU libmicrohttpd is distributed in the hope that it will be useful,
     12   but WITHOUT ANY WARRANTY; without even the implied warranty of
     13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
     14   Lesser General Public License for more details.
     15 
     16   Alternatively, you can redistribute GNU libmicrohttpd and/or
     17   modify it under the terms of the GNU General Public License as
     18   published by the Free Software Foundation; either version 2 of
     19   the License, or (at your option) any later version, together
     20   with the eCos exception, as follows:
     21 
     22     As a special exception, if other files instantiate templates or
     23     use macros or inline functions from this file, or you compile this
     24     file and link it with other works to produce a work based on this
     25     file, this file does not by itself cause the resulting work to be
     26     covered by the GNU General Public License. However the source code
     27     for this file must still be made available in accordance with
     28     section (3) of the GNU General Public License v2.
     29 
     30     This exception does not invalidate any other reasons why a work
     31     based on this file might be covered by the GNU General Public
     32     License.
     33 
     34   You should have received copies of the GNU Lesser General Public
     35   License and the GNU General Public License along with this library;
     36   if not, see <https://www.gnu.org/licenses/>.
     37 */
     38 
     39 /**
     40  * @file src/mhd2/mhd_post_result.h
     41  * @brief  The definition of enum for POST parsing result
     42  * @author Karlson2k (Evgeny Grin)
     43  */
     44 
     45 #ifndef MHD_POST_RESULT_H
     46 #define MHD_POST_RESULT_H 1
     47 
     48 #include "mhd_sys_options.h"
     49 
     50 // TODO: describe and copy to the main header
     51 
     52 #ifndef MHD_POST_PARSE_RESULT_DEFINED
     53 
     54 enum MHD_FIXED_ENUM_MHD_SET_ MHD_PostParseResult
     55 {
     56   /**
     57    * The POST data parsed successfully and completely.
     58    */
     59   MHD_POST_PARSE_RES_OK = 0
     60   ,
     61   /**
     62    * The POST request has no content or zero-length content.
     63    */
     64   MHD_POST_PARSE_RES_REQUEST_EMPTY = 1
     65   ,
     66   /**
     67    * The POST data parsed successfully, but has missing or incorrect
     68    * termination.
     69    * The last parsed field may have incorrect data.
     70    */
     71   MHD_POST_PARSE_RES_OK_BAD_TERMINATION = 2
     72   ,
     73   /**
     74    * Parsing of the POST data is incomplete because client used incorrect
     75    * format of POST encoding.
     76    * The last parsed field may have incorrect data.
     77    * Some POST data is available or has been provided via callback.
     78    */
     79   MHD_POST_PARSE_RES_PARTIAL_INVALID_POST_FORMAT = 3
     80   ,
     81   /**
     82    * The POST data cannot be parsed completely because the stream has
     83    * no free pool memory.
     84    * Some POST data may be parsed.
     85    */
     86   MHD_POST_PARSE_RES_FAILED_NO_POOL_MEM = 60
     87   ,
     88   /**
     89    * The POST data cannot be parsed completely because no "large shared buffer"
     90    * space is available.
     91    * Some POST data may be parsed.
     92    */
     93   MHD_POST_PARSE_RES_FAILED_NO_LARGE_BUF_MEM = 61
     94   ,
     95   /**
     96    * The POST data cannot be parsed because 'Content-Type:' is unknown.
     97    */
     98   MHD_POST_PARSE_RES_FAILED_UNKNOWN_CNTN_TYPE = 80
     99   ,
    100   /**
    101    * The POST data cannot be parsed because 'Content-Type:' header is not set.
    102    */
    103   MHD_POST_PARSE_RES_FAILED_NO_CNTN_TYPE = 81
    104   ,
    105   /**
    106    * The POST data cannot be parsed because "Content-Type:" request header has
    107    * no "boundary" parameter for "multipart/form-data"
    108    */
    109   MHD_POST_PARSE_RES_FAILED_HEADER_NO_BOUNDARY = 82
    110   ,
    111   /**
    112    * The POST data cannot be parsed because "Content-Type: multipart/form-data"
    113    * request header is misformed
    114    */
    115   MHD_POST_PARSE_RES_FAILED_HEADER_MISFORMED = 83
    116   ,
    117   /**
    118    * The application set POST encoding to "multipart/form-data", but the request
    119    * has no "Content-Type: multipart/form-data" header which is required
    120    * to find "boundary" used in this encoding
    121    */
    122   MHD_POST_PARSE_RES_FAILED_HEADER_NOT_MPART = 84
    123   ,
    124   /**
    125    * The POST data cannot be parsed because client used incorrect format
    126    * of POST encoding.
    127    */
    128   MHD_POST_PARSE_RES_FAILED_INVALID_POST_FORMAT = 90
    129 
    130 };
    131 
    132 #define MHD_POST_PARSE_RESULT_DEFINED 1
    133 #endif /* ! MHD_POST_PARSE_RESULT_DEFINED */
    134 
    135 
    136 #endif /* ! MHD_POST_RESULT_H */