paivana

HTTP paywall reverse proxy
Log | Files | Refs | Submodules | README | LICENSE

paivana-httpd_pay.h (1522B)


      1 /*
      2      This file is part of GNUnet.
      3      Copyright (C) 2026 Taler Systems SA
      4 
      5      Paivana is free software; you can redistribute it and/or
      6      modify it under the terms of the GNU General Public License
      7      as published by the Free Software Foundation; either version
      8      3, or (at your option) any later version.
      9 
     10      Paivana is distributed in the hope that it will be useful,
     11      but WITHOUT ANY WARRANTY; without even the implied warranty
     12      of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
     13      the GNU General Public License for more details.
     14 
     15      You should have received a copy of the GNU General Public
     16      License along with Paivana; see the file COPYING.  If not,
     17      write to the Free Software Foundation, Inc., 51 Franklin
     18      Street, Fifth Floor, Boston, MA 02110-1301, USA.
     19 */
     20 
     21 /**
     22  * @author Christian Grothoff
     23  * @file paivana-httpd_pay.h
     24  *
     25  * @brief payment processing logic
     26  */
     27 #ifndef PAIVANA_HTTPD_PAY_H
     28 #define PAIVANA_HTTPD_PAY_H
     29 
     30 #include <gnunet/gnunet_util_lib.h>
     31 #include <microhttpd.h>
     32 #include "paivana-httpd.h"
     33 
     34 /**
     35  * Handle for processing actual payment.
     36  */
     37 struct PayRequest;
     38 
     39 void
     40 PAIVANA_HTTPD_payment_shutdown (void);
     41 
     42 
     43 struct PayRequest *
     44 PAIVANA_HTTPD_payment_create (struct MHD_Connection *connection);
     45 
     46 
     47 enum MHD_Result
     48 PAIVANA_HTTPD_payment_handle (struct PayRequest *pr,
     49                               const char *upload_data,
     50                               size_t *upload_data_size);
     51 
     52 
     53 void
     54 PAIVANA_HTTPD_payment_destroy (struct PayRequest *ph);
     55 
     56 
     57 #endif