summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar rans2004-08-26 17:02:24 +0000
committerGravatar rans2004-08-26 17:02:24 +0000
commit6576b549c0acbe94e6d6d7e6c9a358c8a9fcea90 (patch)
tree155b40c3d5e9e7fcef17e982a4a28489d659dadb
parent06694fd4006c6ab76f7902a95cc5623a3649b01e (diff)
downloadcsoap-6576b549c0acbe94e6d6d7e6c9a358c8a9fcea90.tar.gz
csoap-6576b549c0acbe94e6d6d7e6c9a358c8a9fcea90.tar.bz2
Test http
-rw-r--r--examples/nanohttp/helloserver.c103
-rw-r--r--examples/nanohttp/helloserver.vcproj151
-rw-r--r--examples/nanohttp/httpcpost.c147
-rw-r--r--examples/nanohttp/httpcpost.vcproj151
-rw-r--r--examples/nanohttp/httpget.c139
-rw-r--r--examples/nanohttp/httpget.vcproj151
-rw-r--r--examples/nanohttp/httpgetcb.c125
-rw-r--r--examples/nanohttp/httpgetcb.vcproj151
-rw-r--r--examples/nanohttp/httppost.c154
-rw-r--r--examples/nanohttp/httppost.vcproj151
-rw-r--r--examples/nanohttp/postserver.c133
-rw-r--r--examples/nanohttp/postserver.vcproj151
-rw-r--r--examples/nanohttp/pthreadVC.dllbin0 -> 53299 bytes
-rw-r--r--examples/nanohttp/stdafx.cpp7
-rw-r--r--examples/nanohttp/stdafx.h9
15 files changed, 1326 insertions, 397 deletions
diff --git a/examples/nanohttp/helloserver.c b/examples/nanohttp/helloserver.c
index 867cbe4..f30d31a 100644
--- a/examples/nanohttp/helloserver.c
+++ b/examples/nanohttp/helloserver.c
@@ -1,68 +1,69 @@
/******************************************************************
- * $Id: helloserver.c,v 1.1 2004/01/21 12:27:47 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: helloserver.c,v 1.2 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-server.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
-
+#endif
/*
- SERVICE: http://host:port/hello
- */
+SERVICE: http://host:port/hello
+*/
void hello_world_service(httpd_conn_t *conn, hrequest_t *req)
{
- httpd_send_header(conn, 200, "OK", NULL);
- hsocket_send(conn->sock, "<html><body>");
- hsocket_send(conn->sock, "<h3>Hello World!</h3>");
- hsocket_send(conn->sock, "</body></html>");
+ httpd_send_header(conn, 200, "OK", NULL);
+ hsocket_send(conn->sock, "<html><body>");
+ hsocket_send(conn->sock, "<h3>Hello World!</h3>");
+ hsocket_send(conn->sock, "</body></html>");
}
-
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
-
- if (httpd_init(argc, argv)) {
- fprintf(stderr, "can not init httpd");
- return 1;
- }
-
- if (!httpd_register("/hello", hello_world_service)) {
- fprintf(stderr, "Can not register service");
- return 1;
- }
-
- if (httpd_run()) {
- fprintf(stderr, "can not run httpd");
- return 1;
- }
-
- return 0;
-}
-
-
-
+ log_set_level(HLOG_VERBOSE);
+ if (httpd_init(argc, argv)) {
+ fprintf(stderr, "can not init httpd");
+ return 1;
+ }
+ if (!httpd_register("/hello", hello_world_service)) {
+ fprintf(stderr, "Can not register service");
+ return 1;
+ }
+ if (httpd_run()) {
+ fprintf(stderr, "can not run httpd");
+ return 1;
+ }
+ return 0;
+}
diff --git a/examples/nanohttp/helloserver.vcproj b/examples/nanohttp/helloserver.vcproj
new file mode 100644
index 0000000..683e2e2
--- /dev/null
+++ b/examples/nanohttp/helloserver.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="helloserver"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib pthreadvc.lib"
+ OutputFile="$(OutDir)/helloserver.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/helloserver.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib pthreadvc.lib"
+ OutputFile="$(OutDir)/helloserver.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\helloserver.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/httpcpost.c b/examples/nanohttp/httpcpost.c
index c053e10..f7e4a52 100644
--- a/examples/nanohttp/httpcpost.c
+++ b/examples/nanohttp/httpcpost.c
@@ -1,89 +1,96 @@
/******************************************************************
- * $Id: httpcpost.c,v 1.1 2004/01/21 12:33:21 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: httpcpost.c,v 1.2 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-client.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
+#endif
-
-
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
- httpc_conn_t *conn;
- hresponse_t *res;
- hpair_t *pair;
- char postdata[1054];
- int status;
+ httpc_conn_t *conn;
+ hresponse_t *res;
+ hpair_t *pair;
+ char postdata[1054];
+ int status;
- if (argc < 2) {
- fprintf(stderr, "usage %s <url> \n", argv[0]);
- exit(1);
- }
+ if (argc < 2) {
+ fprintf(stderr, "usage %s <url> \n", argv[0]);
+ exit(1);
+ }
- log_set_level(HLOG_VERBOSE);
+ log_set_level(HLOG_VERBOSE);
- conn = httpc_new();
+ conn = httpc_new();
- log_debug1("Opening connection");
- status = httpc_post_open(conn, argv[1]);
- if (status) {
- log_error2("Can not open connection (%d)", status);
- return 1;
- }
+ log_debug1("Opening connection");
+ status = httpc_post_open(conn, argv[1]);
+ if (status) {
+ log_error2("Can not open connection (%d)", status);
+ return 1;
+ }
- while (1) {
- printf("Enter chunk (max 1024): ");
- gets(postdata);
- if (!strcmp(postdata, ".")) break;
- log_debug1("sending chunk ...");
- httpc_post_send(conn, postdata, strlen(postdata));
- }
+ while (1) {
+ printf("Enter chunk (max 1024): ");
+ gets(postdata);
+ if (!strcmp(postdata, ".")) break;
+ log_debug1("sending chunk ...");
+ httpc_post_send(conn, postdata, strlen(postdata));
+ }
- log_debug1("please wait ...");
- res = httpc_post_finish(conn);
+ log_debug1("please wait ...");
+ res = httpc_post_finish(conn);
- if (res != NULL) {
- log_info2("Spec : '%s'", res->spec);
- log_info2("Status: %d", res->errcode);
- log_info2("Desc : '%s'", res->desc);
+ if (res != NULL) {
+ log_info2("Spec : '%s'", res->spec);
+ log_info2("Status: %d", res->errcode);
+ log_info2("Desc : '%s'", res->desc);
- if (res->body) {
- pair = res->header;
- while (pair != NULL) {
- log_debug3("%s: %s", pair->key, pair->value);
- pair = pair->next;
- }
- puts(res->body);
- }
- else
- log_error1("body is null");
+ if (res->body) {
+ pair = res->header;
+ while (pair != NULL) {
+ log_debug3("%s: %s", pair->key, pair->value);
+ pair = pair->next;
+ }
+ puts(res->body);
+ }
+ else
+ log_error1("body is null");
- hresponse_free(res);
- } else {
- log_error1("response object is null");
- }
+ hresponse_free(res);
+ } else {
+ log_error1("response object is null");
+ }
- httpc_free(conn);
- return 0;
+ httpc_free(conn);
+ return 0;
}
diff --git a/examples/nanohttp/httpcpost.vcproj b/examples/nanohttp/httpcpost.vcproj
new file mode 100644
index 0000000..0dbd521
--- /dev/null
+++ b/examples/nanohttp/httpcpost.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="httpcpost"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpcpost.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/httpcpost.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpcpost.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\httpcpost.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/httpget.c b/examples/nanohttp/httpget.c
index 4eab70e..319ff7f 100644
--- a/examples/nanohttp/httpget.c
+++ b/examples/nanohttp/httpget.c
@@ -1,77 +1,78 @@
/******************************************************************
- * $Id: httpget.c,v 1.2 2003/12/18 12:23:44 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: httpget.c,v 1.3 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-client.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
+#endif
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
- httpc_conn_t *conn;
- hresponse_t *res;
- hpair_t *pair;
-
- if (argc < 2) {
- fprintf(stderr, "usage %s <url>\n", argv[0]);
- exit(1);
- }
-
- log_set_level(HLOG_VERBOSE);
-
- conn = httpc_new();
- res = httpc_get(conn, argv[1]);
-
- if (res != NULL) {
- log_info2("Spec : '%s'", res->spec);
- log_info2("Status: %d", res->errcode);
- log_info2("Desc : '%s'", res->desc);
-
- if (res->body) {
- pair = res->header;
- while (pair != NULL) {
- log_debug3("%s: %s", pair->key, pair->value);
- pair = pair->next;
- }
-
- puts(res->body);
- }
- else
- log_error1("body is null");
-
- hresponse_free(res);
- } else {
- log_error1("response object is null");
- }
-
- httpc_free(conn);
- return 0;
-}
-
-
-
-
-
-
-
-
+ httpc_conn_t *conn;
+ hresponse_t *res;
+ hpair_t *pair;
+
+ if (argc < 2) {
+ fprintf(stderr, "usage %s <url>\n", argv[0]);
+ exit(1);
+ }
+
+ log_set_level(HLOG_VERBOSE);
+
+ conn = httpc_new();
+ res = httpc_get(conn, argv[1]);
+
+ if (res != NULL) {
+ log_info2("Spec : '%s'", res->spec);
+ log_info2("Status: %d", res->errcode);
+ log_info2("Desc : '%s'", res->desc);
+
+ if (res->body) {
+ pair = res->header;
+ while (pair != NULL) {
+ log_debug3("%s: %s", pair->key, pair->value);
+ pair = pair->next;
+ }
+
+ puts(res->body);
+ }
+ else
+ log_error1("body is null");
+
+ hresponse_free(res);
+ } else {
+ log_error1("response object is null");
+ }
+
+ httpc_free(conn);
+ return 0;
+} \ No newline at end of file
diff --git a/examples/nanohttp/httpget.vcproj b/examples/nanohttp/httpget.vcproj
new file mode 100644
index 0000000..b1201ad
--- /dev/null
+++ b/examples/nanohttp/httpget.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="httpget"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpget.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/httpget.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpget.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\httpget.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/httpgetcb.c b/examples/nanohttp/httpgetcb.c
index 94f5b9c..9236bb4 100644
--- a/examples/nanohttp/httpgetcb.c
+++ b/examples/nanohttp/httpgetcb.c
@@ -1,89 +1,90 @@
/******************************************************************
- * $Id: httpgetcb.c,v 1.2 2003/12/18 12:23:44 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: httpgetcb.c,v 1.3 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-client.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
+#endif
FILE *fd;
void my_start_callback(httpc_conn_t *conn, void *userdata,
- hpair_t *header, const char *spec,
- int errcode, const char *desc)
+ hpair_t *header, const char *spec,
+ int errcode, const char *desc)
{
- hpair_t *pair;
+ hpair_t *pair;
- log_debug2("Spec : '%s'", spec);
- log_debug2("Status: %d", errcode);
- log_debug2("Desc : '%s'", desc);
+ log_debug2("Spec : '%s'", spec);
+ log_debug2("Status: %d", errcode);
+ log_debug2("Desc : '%s'", desc);
- pair = header;
- while (pair != NULL) {
- log_debug3("%s: '%s'", pair->key, pair->value);
- pair = pair->next;
- }
+ pair = header;
+ while (pair != NULL) {
+ log_debug3("%s: '%s'", pair->key, pair->value);
+ pair = pair->next;
+ }
- log_debug1("\n");
+ log_debug1("\n");
}
void my_callback(int counter, httpc_conn_t* conn,
- void *userdata, int size, char *buffer)
+ void *userdata, int size, char *buffer)
{
- /* print body */
- if (size > 0) fwrite(buffer, size, 1, fd);
+ /* print body */
+ if (size > 0) fwrite(buffer, size, 1, fd);
}
-
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
- httpc_conn_t *conn;
+ httpc_conn_t *conn;
- if (argc < 3) {
- fprintf(stderr, "usage %s <url> <filename>\n", argv[0]);
- exit(1);
- }
+ if (argc < 3) {
+ fprintf(stderr, "usage %s <url> <filename>\n", argv[0]);
+ exit(1);
+ }
- fd = fopen(argv[2], "w");
- if (fd == NULL) {
- fprintf(stderr, "can not open '%s'\n", argv[2]);
- exit(1);
- }
+ fd = fopen(argv[2], "w");
+ if (fd == NULL) {
+ fprintf(stderr, "can not open '%s'\n", argv[2]);
+ exit(1);
+ }
- conn = httpc_new();
- /* httpc_set_header(conn, HEADER_TRANSFER_ENCODING, "chunked");*/
- httpc_get_cb(conn, argv[1], my_start_callback, my_callback, NULL);
- httpc_free(conn);
+ conn = httpc_new();
+ /* httpc_set_header(conn, HEADER_TRANSFER_ENCODING, "chunked");*/
+ httpc_get_cb(conn, argv[1], my_start_callback, my_callback, NULL);
+ httpc_free(conn);
- fclose(fd);
+ fclose(fd);
- log_debug1("finished");
+ log_debug1("finished");
- return 0;
+ return 0;
}
-
-
-
-
-
-
-
diff --git a/examples/nanohttp/httpgetcb.vcproj b/examples/nanohttp/httpgetcb.vcproj
new file mode 100644
index 0000000..d774f65
--- /dev/null
+++ b/examples/nanohttp/httpgetcb.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="httpgetcb"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpgetcb.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/httpgetcb.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httpgetcb.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\httpgetcb.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/httppost.c b/examples/nanohttp/httppost.c
index fe7fdb8..9a28442 100644
--- a/examples/nanohttp/httppost.c
+++ b/examples/nanohttp/httppost.c
@@ -1,86 +1,84 @@
/******************************************************************
- * $Id: httppost.c,v 1.2 2004/01/06 08:04:32 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: httppost.c,v 1.3 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-client.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
+#endif
-
-
-
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
- httpc_conn_t *conn;
- hresponse_t *res;
- hpair_t *pair;
- char postdata[1054];
-
- if (argc < 2) {
- fprintf(stderr, "usage %s <url> \n", argv[0]);
- exit(1);
- }
-
- log_set_level(HLOG_VERBOSE);
-
- printf("\nEnter post data (max 1054): ");
- gets(postdata);
- printf("\nSending data to '%s'. Please wait ...\n ", argv[1]);
-
- log_debug2("you entered: '%s'", postdata);
- log_debug2("content-length: %d", strlen(postdata));
-
- conn = httpc_new();
- res = httpc_post(conn, argv[1], strlen(postdata), postdata);
-
- if (res != NULL) {
- log_info2("Spec : '%s'", res->spec);
- log_info2("Status: %d", res->errcode);
- log_info2("Desc : '%s'", res->desc);
-
- if (res->body) {
- pair = res->header;
- while (pair != NULL) {
- log_debug3("%s: %s", pair->key, pair->value);
- pair = pair->next;
- }
- puts(res->body);
- }
- else
- log_error1("body is null");
-
- hresponse_free(res);
- } else {
- log_error1("response object is null");
- }
-
- httpc_free(conn);
- return 0;
+ httpc_conn_t *conn;
+ hresponse_t *res;
+ hpair_t *pair;
+ char postdata[1054];
+
+ if (argc < 2) {
+ fprintf(stderr, "usage %s <url> \n", argv[0]);
+ exit(1);
+ }
+
+ log_set_level(HLOG_VERBOSE);
+
+ printf("\nEnter post data (max 1054): ");
+ gets(postdata);
+ printf("\nSending data to '%s'. Please wait ...\n ", argv[1]);
+
+ log_debug2("you entered: '%s'", postdata);
+ log_debug2("content-length: %d", strlen(postdata));
+
+ conn = httpc_new();
+ res = httpc_post(conn, argv[1], strlen(postdata), postdata);
+
+ if (res != NULL) {
+ log_info2("Spec : '%s'", res->spec);
+ log_info2("Status: %d", res->errcode);
+ log_info2("Desc : '%s'", res->desc);
+
+ if (res->body) {
+ pair = res->header;
+ while (pair != NULL) {
+ log_debug3("%s: %s", pair->key, pair->value);
+ pair = pair->next;
+ }
+ puts(res->body);
+ }
+ else
+ log_error1("body is null");
+
+ hresponse_free(res);
+ } else {
+ log_error1("response object is null");
+ }
+
+ httpc_free(conn);
+ return 0;
}
-
-
-
-
-
-
-
-
diff --git a/examples/nanohttp/httppost.vcproj b/examples/nanohttp/httppost.vcproj
new file mode 100644
index 0000000..e598907
--- /dev/null
+++ b/examples/nanohttp/httppost.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="httppost"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httppost.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/httppost.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib"
+ OutputFile="$(OutDir)/httppost.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\httppost.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/postserver.c b/examples/nanohttp/postserver.c
index a002f45..2a813b5 100644
--- a/examples/nanohttp/postserver.c
+++ b/examples/nanohttp/postserver.c
@@ -1,90 +1,89 @@
/******************************************************************
- * $Id: postserver.c,v 1.1 2004/01/30 16:38:49 snowdrop Exp $
- *
- * CSOAP Project: A http client/server library in C (example)
- * Copyright (C) 2003 Ferhat Ayaz
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library 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
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
- *
- * Email: ayaz@jprogrammer.net
- ******************************************************************/
+* $Id: postserver.c,v 1.2 2004/08/26 17:02:24 rans Exp $
+*
+* CSOAP Project: A http client/server library in C (example)
+* Copyright (C) 2003 Ferhat Ayaz
+*
+* This library is free software; you can redistribute it and/or
+* modify it under the terms of the GNU Library General Public
+* License as published by the Free Software Foundation; either
+* version 2 of the License, or (at your option) any later version.
+*
+* This library 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
+* Library General Public License for more details.
+*
+* You should have received a copy of the GNU Library General Public
+* License along with this library; if not, write to the
+* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+* Boston, MA 02111-1307, USA.
+*
+* Email: ayaz@jprogrammer.net
+******************************************************************/
#include <nanohttp/nanohttp-server.h>
+#ifdef WIN32
+#include <stdafx.h>
+#include <malloc.h>
+#else
#include <stdio.h>
-
-
+#endif
/*
- SERVICE: http://host:port/postserver
- */
+SERVICE: http://host:port/postserver
+*/
void post_service(httpd_conn_t *conn, hrequest_t *req)
{
- char *postdata;
- long received;
+ char *postdata;
+ long received;
- postdata = httpd_get_postdata(conn, req, &received, -1);
+ postdata = httpd_get_postdata(conn, req, &received, -1);
- if (postdata != NULL) {
+ if (postdata != NULL) {
- httpd_send_header(conn, 200, "OK", NULL);
- hsocket_send(conn->sock, "<html><body>");
- hsocket_send(conn->sock, "<h3>You Posted:</h3><hr>");
- hsocket_nsend(conn->sock, postdata, received);
- hsocket_send(conn->sock, "</body></html>");
- free(postdata);
+ httpd_send_header(conn, 200, "OK", NULL);
+ hsocket_send(conn->sock, "<html><body>");
+ hsocket_send(conn->sock, "<h3>You Posted:</h3><hr>");
+ hsocket_nsend(conn->sock, postdata, received);
+ hsocket_send(conn->sock, "</body></html>");
+ free(postdata);
- } else {
+ } else {
- httpd_send_header(conn, 200, "OK", NULL);
- hsocket_send(conn->sock, "<html><body>");
- hsocket_send(conn->sock, "<form action=\"/postserver\" method=\"POST\">");
- hsocket_send(conn->sock, "Enter Postdata: <input name=\"field\" type=\"text\">");
- hsocket_send(conn->sock, "<input type=\"submit\">");
- hsocket_send(conn->sock, "</body></html>");
+ httpd_send_header(conn, 200, "OK", NULL);
+ hsocket_send(conn->sock, "<html><body>");
+ hsocket_send(conn->sock, "<form action=\"/postserver\" method=\"POST\">");
+ hsocket_send(conn->sock, "Enter Postdata: <input name=\"field\" type=\"text\">");
+ hsocket_send(conn->sock, "<input type=\"submit\">");
+ hsocket_send(conn->sock, "</body></html>");
- }
+ }
}
-
+#ifdef WIN32
+int _tmain(int argc, _TCHAR* argv[])
+#else
int main(int argc, char *argv[])
+#endif
{
-
- if (httpd_init(argc, argv)) {
- fprintf(stderr, "can not init httpd");
- return 1;
- }
-
- if (!httpd_register("/postserver", post_service)) {
- fprintf(stderr, "Can not register service");
- return 1;
- }
-
- if (httpd_run()) {
- fprintf(stderr, "can not run httpd");
- return 1;
- }
-
- return 0;
-}
-
-
-
-
+ log_set_level(HLOG_VERBOSE);
+ if (httpd_init(argc, argv)) {
+ fprintf(stderr, "can not init httpd");
+ return 1;
+ }
+ if (!httpd_register("/", post_service)) {
+ fprintf(stderr, "Can not register service");
+ return 1;
+ }
+ if (httpd_run()) {
+ fprintf(stderr, "can not run httpd");
+ return 1;
+ }
+ return 0;
+}
diff --git a/examples/nanohttp/postserver.vcproj b/examples/nanohttp/postserver.vcproj
new file mode 100644
index 0000000..fcd5983
--- /dev/null
+++ b/examples/nanohttp/postserver.vcproj
@@ -0,0 +1,151 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+ ProjectType="Visual C++"
+ Version="7.10"
+ Name="postserver"
+ ProjectGUID="{3D4C3C19-2166-4017-9103-D30AB5DD2AB2}"
+ Keyword="Win32Proj">
+ <Platforms>
+ <Platform
+ Name="Win32"/>
+ </Platforms>
+ <Configurations>
+ <Configuration
+ Name="Debug|Win32"
+ OutputDirectory="Debug"
+ IntermediateDirectory="Debug"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ Optimization="0"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+ MinimalRebuild="TRUE"
+ BasicRuntimeChecks="3"
+ RuntimeLibrary="5"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="4"
+ CompileAs="2"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib pthreadvc.lib"
+ OutputFile="$(OutDir)/postserver.exe"
+ LinkIncremental="2"
+ AdditionalLibraryDirectories="..\..\nanohttp\debug,..\..\"
+ GenerateDebugInformation="TRUE"
+ ProgramDatabaseFile="$(OutDir)/postserver.pdb"
+ SubSystem="1"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ <Configuration
+ Name="Release|Win32"
+ OutputDirectory="Release"
+ IntermediateDirectory="Release"
+ ConfigurationType="1"
+ CharacterSet="2">
+ <Tool
+ Name="VCCLCompilerTool"
+ AdditionalIncludeDirectories="..\..\,.\"
+ PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+ RuntimeLibrary="4"
+ UsePrecompiledHeader="0"
+ WarningLevel="3"
+ Detect64BitPortabilityProblems="TRUE"
+ DebugInformationFormat="3"/>
+ <Tool
+ Name="VCCustomBuildTool"/>
+ <Tool
+ Name="VCLinkerTool"
+ AdditionalDependencies="nanohttp.lib pthreadvc.lib"
+ OutputFile="$(OutDir)/postserver.exe"
+ LinkIncremental="1"
+ AdditionalLibraryDirectories="..\..\nanohttp\release,..\..\"
+ GenerateDebugInformation="TRUE"
+ SubSystem="1"
+ OptimizeReferences="2"
+ EnableCOMDATFolding="2"
+ TargetMachine="1"/>
+ <Tool
+ Name="VCMIDLTool"/>
+ <Tool
+ Name="VCPostBuildEventTool"/>
+ <Tool
+ Name="VCPreBuildEventTool"/>
+ <Tool
+ Name="VCPreLinkEventTool"/>
+ <Tool
+ Name="VCResourceCompilerTool"/>
+ <Tool
+ Name="VCWebServiceProxyGeneratorTool"/>
+ <Tool
+ Name="VCXMLDataGeneratorTool"/>
+ <Tool
+ Name="VCWebDeploymentTool"/>
+ <Tool
+ Name="VCManagedWrapperGeneratorTool"/>
+ <Tool
+ Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
+ </Configuration>
+ </Configurations>
+ <References>
+ </References>
+ <Files>
+ <Filter
+ Name="Source Files"
+ Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
+ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">
+ <File
+ RelativePath=".\postserver.c">
+ <FileConfiguration
+ Name="Release|Win32">
+ <Tool
+ Name="VCCLCompilerTool"
+ CompileAs="2"/>
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath=".\stdafx.cpp">
+ </File>
+ </Filter>
+ <Filter
+ Name="Header Files"
+ Filter="h;hpp;hxx;hm;inl;inc;xsd"
+ UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">
+ <File
+ RelativePath=".\stdafx.h">
+ </File>
+ </Filter>
+ <Filter
+ Name="Resource Files"
+ Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
+ UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">
+ </Filter>
+ </Files>
+ <Globals>
+ </Globals>
+</VisualStudioProject>
diff --git a/examples/nanohttp/pthreadVC.dll b/examples/nanohttp/pthreadVC.dll
new file mode 100644
index 0000000..4fc1f00
--- /dev/null
+++ b/examples/nanohttp/pthreadVC.dll
Binary files differ
diff --git a/examples/nanohttp/stdafx.cpp b/examples/nanohttp/stdafx.cpp
new file mode 100644
index 0000000..f0977a2
--- /dev/null
+++ b/examples/nanohttp/stdafx.cpp
@@ -0,0 +1,7 @@
+// stdafx.cpp : source file that includes just the standard includes
+// csoapserver.pch will be the pre-compiled header
+// stdafx.obj will contain the pre-compiled type information
+
+#include "stdafx.h"
+
+
diff --git a/examples/nanohttp/stdafx.h b/examples/nanohttp/stdafx.h
new file mode 100644
index 0000000..f3469f3
--- /dev/null
+++ b/examples/nanohttp/stdafx.h
@@ -0,0 +1,9 @@
+// stdafx.h : include file for standard system include files,
+// or project specific include files that are used frequently, but
+// are changed infrequently
+//
+
+#include <iostream>
+#include <tchar.h>
+
+// TODO: reference additional headers your program requires here