aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-10-26 20:05:19 +0200
committerChristian Grothoff <christian@grothoff.org>2019-10-26 20:05:19 +0200
commit94f0d80cc115ce93e88b64f8e3d0fa81e853f6d3 (patch)
treedf89518b7ef3e8d694507870235ef4271a81ead5 /src/lib
parent8d11ac3388b52c56a651005da4954189b1963d83 (diff)
turn teah_common.c into libtalercurl, fixes many ugly issues in build system
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.am8
-rw-r--r--src/lib/teah_common.c116
2 files changed, 4 insertions, 120 deletions
diff --git a/src/lib/Makefile.am b/src/lib/Makefile.am
index fddc961f5..f5251524e 100644
--- a/src/lib/Makefile.am
+++ b/src/lib/Makefile.am
@@ -27,11 +27,11 @@ libtalerexchange_la_SOURCES = \
exchange_api_reserve.c \
exchange_api_track_transaction.c \
exchange_api_track_transfer.c \
- exchange_api_wire.c \
- teah_common.c
+ exchange_api_wire.c
libtalerexchange_la_LIBADD = \
libtalerauditor.la \
$(top_builddir)/src/json/libtalerjson.la \
+ $(top_builddir)/src/curl/libtalercurl.la \
$(top_builddir)/src/util/libtalerutil.la \
-lgnunetcurl \
-lgnunetjson \
@@ -47,9 +47,9 @@ libtalerauditor_la_SOURCES = \
auditor_api_curl_defaults.c auditor_api_curl_defaults.h \
auditor_api_handle.c auditor_api_handle.h \
auditor_api_deposit_confirmation.c \
- auditor_api_exchanges.c \
- teah_common.c
+ auditor_api_exchanges.c
libtalerauditor_la_LIBADD = \
+ $(top_builddir)/src/curl/libtalercurl.la \
$(top_builddir)/src/json/libtalerjson.la \
$(top_builddir)/src/util/libtalerutil.la \
-lgnunetcurl \
diff --git a/src/lib/teah_common.c b/src/lib/teah_common.c
deleted file mode 100644
index 3e56c7536..000000000
--- a/src/lib/teah_common.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- This file is part of TALER
- Copyright (C) 2019 GNUnet e.V.
-
- TALER is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
-
- TALER is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public
- License along with TALER; see the file COPYING. If not, see
- <http://www.gnu.org/licenses/>
-*/
-
-/**
- * @file lib/teah_common.c
- * @brief Helper routines shared by libtalerexchange and libtalerauditor
- * @author Christian Grothoff
- */
-#include "platform.h"
-#include "taler_curl_lib.h"
-
-#if COMPRESS_BODIES
-#include <zlib.h>
-#endif
-
-
-/**
- * Add the @a body as POST data to the easy handle in @a ctx.
- *
- * @param ctx[in,out] a request context (updated)
- * @param eh easy handle to use
- * @param body JSON body to add to @e ctx
- * @return #GNUNET_OK on success #GNUNET_SYSERR on failure
- */
-int
-TALER_curl_easy_post (struct TEAH_PostContext *ctx,
- CURL *eh,
- const json_t *body)
-{
- char *str;
- size_t slen;
-
- str = json_dumps (body,
- JSON_COMPACT);
- if (NULL == str)
- {
- GNUNET_break (0);
- return GNUNET_SYSERR;
- }
- slen = strlen (str);
-#if COMPRESS_BODIES
- {
- Bytef *cbuf;
- uLongf cbuf_size;
- int ret;
-
- cbuf_size = compressBound (slen);
- cbuf = GNUNET_malloc (cbuf_size);
- ret = compress (cbuf,
- &cbuf_size,
- (const Bytef *) str,
- slen);
- if (Z_OK != ret)
- {
- /* compression failed!? */
- GNUNET_break (0);
- GNUNET_free (cbuf);
- return GNUNET_SYSERR;
- }
- free (str);
- slen = (size_t) cbuf_size;
- ctx->json_enc = (char *) cbuf;
- }
- GNUNET_assert
- (NULL != (ctx->headers = curl_slist_append
- (ctx->headers,
- "Content-Encoding: deflate")));
-#else
- ctx->json_enc = str;
-#endif
-
- GNUNET_assert
- (NULL != (ctx->headers = curl_slist_append
- (ctx->headers,
- "Content-Type: application/json")));
-
- GNUNET_assert (CURLE_OK ==
- curl_easy_setopt (eh,
- CURLOPT_POSTFIELDS,
- ctx->json_enc));
- GNUNET_assert (CURLE_OK ==
- curl_easy_setopt (eh,
- CURLOPT_POSTFIELDSIZE,
- slen));
- return GNUNET_OK;
-}
-
-
-/**
- * Free the data in @a ctx.
- *
- * @param ctx[in] a request context (updated)
- */
-void
-TALER_curl_easy_post_finished (struct TEAH_PostContext *ctx)
-{
- curl_slist_free_all (ctx->headers);
- ctx->headers = NULL;
- GNUNET_free_non_null (ctx->json_enc);
-}