mirror of
https://git.gnunet.org/libmicrohttpd.git
synced 2026-09-25 04:09:31 +03:00
fix
This commit is contained in:
+12
-1
@@ -15,7 +15,18 @@ libmicrohttpd_la_SOURCES = \
|
||||
response.c response.h \
|
||||
session.c session.h
|
||||
|
||||
# No curl, not testcases
|
||||
|
||||
# example programs
|
||||
|
||||
noinst_PROGRAMS = minimal_example
|
||||
|
||||
minimal_example_SOURCES = \
|
||||
minimal_example.c
|
||||
minimal_example_LDADD = \
|
||||
$(top_builddir)/src/daemon/libmicrohttpd.la
|
||||
|
||||
|
||||
# No curl, no testcases
|
||||
if HAVE_CURL
|
||||
|
||||
check_PROGRAMS = \
|
||||
|
||||
+1
-1
@@ -504,7 +504,7 @@ MHD_start_daemon(unsigned int options,
|
||||
(0 != pthread_create(&retVal->pid,
|
||||
NULL,
|
||||
&MHD_select_thread,
|
||||
daemon)) ) {
|
||||
retVal)) ) {
|
||||
MHD_DLOG(retVal,
|
||||
"Failed to create listen thread: %s\n",
|
||||
strerror(errno));
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
This file is part of libmicrohttpd
|
||||
(C) 2007 Christian Grothoff
|
||||
|
||||
libmicrohttpd 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 2, or (at your
|
||||
option) any later version.
|
||||
|
||||
libmicrohttpd 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 libmicrohttpd; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
||||
Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file minimal_example.c
|
||||
* @brief minimal example for how to use libmicrohttpd
|
||||
* @author Christian Grothoff
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
#include <microhttpd.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define PAGE "<html><head><title>libmicrohttpd demo</title></head><body>libmicrohttpd demo</body></html>"
|
||||
|
||||
static int apc_all(void * cls,
|
||||
const struct sockaddr * addr,
|
||||
socklen_t addrlen) {
|
||||
return MHD_YES;
|
||||
}
|
||||
|
||||
static int ahc_echo(void * cls,
|
||||
struct MHD_Session * session,
|
||||
const char * url,
|
||||
const char * method,
|
||||
const char * upload_data,
|
||||
unsigned int * upload_data_size) {
|
||||
const char * me = cls;
|
||||
struct MHD_Response * response;
|
||||
int ret;
|
||||
|
||||
if (0 != strcmp(me, "GET"))
|
||||
return MHD_NO; /* unexpected method */
|
||||
response = MHD_create_response_from_data(strlen(me),
|
||||
(void*) me,
|
||||
MHD_NO,
|
||||
MHD_NO);
|
||||
ret = MHD_queue_response(session,
|
||||
MHD_HTTP_OK,
|
||||
response);
|
||||
MHD_destroy_response(response);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main(int argc,
|
||||
char * const * argv) {
|
||||
struct MHD_Daemon * d;
|
||||
|
||||
if (argc != 3) {
|
||||
printf("%s PORT SECONDS-TO-RUN\n",
|
||||
argv[0]);
|
||||
return 1;
|
||||
}
|
||||
d = MHD_start_daemon(MHD_USE_THREAD_PER_CONNECTION | MHD_USE_IPv4 | MHD_USE_DEBUG,
|
||||
atoi(argv[1]),
|
||||
&apc_all,
|
||||
NULL,
|
||||
&ahc_echo,
|
||||
PAGE);
|
||||
if (d == NULL)
|
||||
return 1;
|
||||
sleep(atoi(argv[2]));
|
||||
MHD_stop_daemon(d);
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user