From 7d99a49d9d2b7f46d4bac6ada4c8ab5e4246f1fa Mon Sep 17 00:00:00 2001 From: Greg Herlein Date: Tue, 15 Jan 2013 16:10:37 -0800 Subject: [PATCH 1/4] reworked as a library --- MongooseDaemon.xcodeproj/project.pbxproj | 249 ++++++++++++++++++ .../contents.xcworkspacedata | 7 + .../UserInterfaceState.xcuserstate | Bin 0 -> 47244 bytes .../xcschemes/MongooseDaemon.xcscheme | 59 +++++ .../xcschemes/xcschememanagement.plist | 22 ++ LICENSE => MongooseDaemon/LICENSE | 0 MongooseDaemon/MongooseDaemon-Prefix.pch | 7 + .../MongooseDaemon.h | 0 .../MongooseDaemon.m | 0 README.rdoc => MongooseDaemon/README.rdoc | 0 mongoose.c => MongooseDaemon/mongoose.c | 0 mongoose.h => MongooseDaemon/mongoose.h | 0 12 files changed, 344 insertions(+) create mode 100644 MongooseDaemon.xcodeproj/project.pbxproj create mode 100644 MongooseDaemon.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 MongooseDaemon.xcodeproj/project.xcworkspace/xcuserdata/gherlein.xcuserdatad/UserInterfaceState.xcuserstate create mode 100644 MongooseDaemon.xcodeproj/xcuserdata/gherlein.xcuserdatad/xcschemes/MongooseDaemon.xcscheme create mode 100644 MongooseDaemon.xcodeproj/xcuserdata/gherlein.xcuserdatad/xcschemes/xcschememanagement.plist rename LICENSE => MongooseDaemon/LICENSE (100%) create mode 100644 MongooseDaemon/MongooseDaemon-Prefix.pch rename MongooseDaemon.h => MongooseDaemon/MongooseDaemon.h (100%) rename MongooseDaemon.m => MongooseDaemon/MongooseDaemon.m (100%) rename README.rdoc => MongooseDaemon/README.rdoc (100%) rename mongoose.c => MongooseDaemon/mongoose.c (100%) rename mongoose.h => MongooseDaemon/mongoose.h (100%) diff --git a/MongooseDaemon.xcodeproj/project.pbxproj b/MongooseDaemon.xcodeproj/project.pbxproj new file mode 100644 index 0000000..5ef3eb4 --- /dev/null +++ b/MongooseDaemon.xcodeproj/project.pbxproj @@ -0,0 +1,249 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + AC74843F16A6262400517C30 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AC74843E16A6262400517C30 /* Foundation.framework */; }; + AC74845216A626A500517C30 /* mongoose.c in Sources */ = {isa = PBXBuildFile; fileRef = AC74844D16A626A500517C30 /* mongoose.c */; }; + AC74845316A626A500517C30 /* MongooseDaemon.m in Sources */ = {isa = PBXBuildFile; fileRef = AC74845016A626A500517C30 /* MongooseDaemon.m */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + AC74843916A6262400517C30 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/${PRODUCT_NAME}"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + AC74843B16A6262400517C30 /* libMongooseDaemon.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libMongooseDaemon.a; sourceTree = BUILT_PRODUCTS_DIR; }; + AC74843E16A6262400517C30 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; + AC74844216A6262400517C30 /* MongooseDaemon-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "MongooseDaemon-Prefix.pch"; sourceTree = ""; }; + AC74844C16A626A500517C30 /* LICENSE */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; + AC74844D16A626A500517C30 /* mongoose.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mongoose.c; sourceTree = ""; }; + AC74844E16A626A500517C30 /* mongoose.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = mongoose.h; sourceTree = ""; }; + AC74844F16A626A500517C30 /* MongooseDaemon.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MongooseDaemon.h; sourceTree = ""; }; + AC74845016A626A500517C30 /* MongooseDaemon.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MongooseDaemon.m; sourceTree = ""; }; + AC74845116A626A500517C30 /* README.rdoc */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.rdoc; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + AC74843816A6262400517C30 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + AC74843F16A6262400517C30 /* Foundation.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + AC74843016A6262400517C30 = { + isa = PBXGroup; + children = ( + AC74844016A6262400517C30 /* MongooseDaemon */, + AC74843D16A6262400517C30 /* Frameworks */, + AC74843C16A6262400517C30 /* Products */, + ); + sourceTree = ""; + }; + AC74843C16A6262400517C30 /* Products */ = { + isa = PBXGroup; + children = ( + AC74843B16A6262400517C30 /* libMongooseDaemon.a */, + ); + name = Products; + sourceTree = ""; + }; + AC74843D16A6262400517C30 /* Frameworks */ = { + isa = PBXGroup; + children = ( + AC74843E16A6262400517C30 /* Foundation.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; + AC74844016A6262400517C30 /* MongooseDaemon */ = { + isa = PBXGroup; + children = ( + AC74844C16A626A500517C30 /* LICENSE */, + AC74844D16A626A500517C30 /* mongoose.c */, + AC74844E16A626A500517C30 /* mongoose.h */, + AC74844F16A626A500517C30 /* MongooseDaemon.h */, + AC74845016A626A500517C30 /* MongooseDaemon.m */, + AC74845116A626A500517C30 /* README.rdoc */, + AC74844116A6262400517C30 /* Supporting Files */, + ); + path = MongooseDaemon; + sourceTree = ""; + }; + AC74844116A6262400517C30 /* Supporting Files */ = { + isa = PBXGroup; + children = ( + AC74844216A6262400517C30 /* MongooseDaemon-Prefix.pch */, + ); + name = "Supporting Files"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + AC74843A16A6262400517C30 /* MongooseDaemon */ = { + isa = PBXNativeTarget; + buildConfigurationList = AC74844916A6262400517C30 /* Build configuration list for PBXNativeTarget "MongooseDaemon" */; + buildPhases = ( + AC74843716A6262400517C30 /* Sources */, + AC74843816A6262400517C30 /* Frameworks */, + AC74843916A6262400517C30 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = MongooseDaemon; + productName = MongooseDaemon; + productReference = AC74843B16A6262400517C30 /* libMongooseDaemon.a */; + productType = "com.apple.product-type.library.static"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + AC74843216A6262400517C30 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0450; + ORGANIZATIONNAME = ""; + }; + buildConfigurationList = AC74843516A6262400517C30 /* Build configuration list for PBXProject "MongooseDaemon" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = AC74843016A6262400517C30; + productRefGroup = AC74843C16A6262400517C30 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + AC74843A16A6262400517C30 /* MongooseDaemon */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + AC74843716A6262400517C30 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + AC74845216A626A500517C30 /* mongoose.c in Sources */, + AC74845316A626A500517C30 /* MongooseDaemon.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + AC74844716A6262400517C30 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + }; + name = Debug; + }; + AC74844816A6262400517C30 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + AC74844A16A6262400517C30 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + DSTROOT = /tmp/MongooseDaemon.dst; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MongooseDaemon/MongooseDaemon-Prefix.pch"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Debug; + }; + AC74844B16A6262400517C30 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + DSTROOT = /tmp/MongooseDaemon.dst; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = "MongooseDaemon/MongooseDaemon-Prefix.pch"; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + AC74843516A6262400517C30 /* Build configuration list for PBXProject "MongooseDaemon" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AC74844716A6262400517C30 /* Debug */, + AC74844816A6262400517C30 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + AC74844916A6262400517C30 /* Build configuration list for PBXNativeTarget "MongooseDaemon" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + AC74844A16A6262400517C30 /* Debug */, + AC74844B16A6262400517C30 /* Release */, + ); + defaultConfigurationIsVisible = 0; + }; +/* End XCConfigurationList section */ + }; + rootObject = AC74843216A6262400517C30 /* Project object */; +} diff --git a/MongooseDaemon.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/MongooseDaemon.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..f2967a1 --- /dev/null +++ b/MongooseDaemon.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/MongooseDaemon.xcodeproj/project.xcworkspace/xcuserdata/gherlein.xcuserdatad/UserInterfaceState.xcuserstate b/MongooseDaemon.xcodeproj/project.xcworkspace/xcuserdata/gherlein.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..22a2c4374b511158dd9d6734b45f9240762d8fae GIT binary patch literal 47244 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Ν2sP+nAr*5JTsNR{ToL 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 + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/MongooseDaemon.xcodeproj/xcuserdata/gherlein.xcuserdatad/xcschemes/xcschememanagement.plist b/MongooseDaemon.xcodeproj/xcuserdata/gherlein.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..19513a2 --- /dev/null +++ b/MongooseDaemon.xcodeproj/xcuserdata/gherlein.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + MongooseDaemon.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + AC74843A16A6262400517C30 + + primary + + + + + diff --git a/LICENSE b/MongooseDaemon/LICENSE similarity index 100% rename from LICENSE rename to MongooseDaemon/LICENSE diff --git a/MongooseDaemon/MongooseDaemon-Prefix.pch b/MongooseDaemon/MongooseDaemon-Prefix.pch new file mode 100644 index 0000000..22364e5 --- /dev/null +++ b/MongooseDaemon/MongooseDaemon-Prefix.pch @@ -0,0 +1,7 @@ +// +// Prefix header for all source files of the 'MongooseDaemon' target in the 'MongooseDaemon' project +// + +#ifdef __OBJC__ + #import +#endif diff --git a/MongooseDaemon.h b/MongooseDaemon/MongooseDaemon.h similarity index 100% rename from MongooseDaemon.h rename to MongooseDaemon/MongooseDaemon.h diff --git a/MongooseDaemon.m b/MongooseDaemon/MongooseDaemon.m similarity index 100% rename from MongooseDaemon.m rename to MongooseDaemon/MongooseDaemon.m diff --git a/README.rdoc b/MongooseDaemon/README.rdoc similarity index 100% rename from README.rdoc rename to MongooseDaemon/README.rdoc diff --git a/mongoose.c b/MongooseDaemon/mongoose.c similarity index 100% rename from mongoose.c rename to MongooseDaemon/mongoose.c diff --git a/mongoose.h b/MongooseDaemon/mongoose.h similarity index 100% rename from mongoose.h rename to MongooseDaemon/mongoose.h From 1f2291c3fc36a5f14d6ba347d5f8a2f0eecb5926 Mon Sep 17 00:00:00 2001 From: Greg Herlein Date: Wed, 16 Jan 2013 05:15:47 -0800 Subject: [PATCH 2/4] corrected README and LICENSE file locations --- MongooseDaemon/LICENSE | 29 -------------- MongooseDaemon/README.rdoc | 80 -------------------------------------- 2 files changed, 109 deletions(-) delete mode 100644 MongooseDaemon/LICENSE delete mode 100644 MongooseDaemon/README.rdoc diff --git a/MongooseDaemon/LICENSE b/MongooseDaemon/LICENSE deleted file mode 100644 index 6213e1a..0000000 --- a/MongooseDaemon/LICENSE +++ /dev/null @@ -1,29 +0,0 @@ -# -# Copyright (c) 2009, Rama McIntosh All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of Rama McIntosh nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. -# diff --git a/MongooseDaemon/README.rdoc b/MongooseDaemon/README.rdoc deleted file mode 100644 index 0ea0156..0000000 --- a/MongooseDaemon/README.rdoc +++ /dev/null @@ -1,80 +0,0 @@ -MongooseDaemon -=============== - -MongooseDaemon is an objective C wrapper around -the embedable mongoose http server for iPhone -development. It is offered under a BSD -style license. - -MongooseDaemon is ideal for both embedded http services -as well as simply debugging your iPhone applications -file structure. - -Mongoose is a lightweight embedable http server -written by Sergey Lyubka and offered under -a BSD style license. More information on -mongoose can be found at the project's -site here: http://code.google.com/p/mongoose/ - -NOTE: The mongoose.h and mongoose.c are taken -directly from mongoose-2.6 and are unmodified. -They are simply forked in this package for -convenience and stability. - -Usage -======= - - -Clone the mongoose directory and add it to your X-Code project. - -Then you can start it within one of you classes to -provide http access to your iPhone application. - - -For example, to start MongooseDaemon when your application -starts on port 8080: - -Add the following to MyAppDelegate.h: - ... - #import "MongooseDaemon.h" - .... - @class MongooseDaemon - - @interface MyAppDelegate : NSObject { - ... - MongooseDaemon *mongooseDaemon; - ... - } - -And add the following to MyAppDelegate.m: - ... - @implementation LightyAppDelegate - ... - - (void)applicationDidFinishLaunching:(UIApplication *)application { - mongooseDaemon = [[MongooseDaemon alloc] init]; - [mongooseDaemon startMongooseDaemon:@"8080"]; - - ... - - (void)dealloc { - ... - [mongooseDaemon stopMongooseDaemon]; - [mongooseDaemon release]; - ... - } - -And that's it...an embeded http server with only -about 9 lines of code! - -TODO -======= -1) Add a helper method to return the server's URL for -convience - -2) Add support for some of mongoose's rich feature set. - -3) Investigate if there is anyway to server files over endge/3g instead of just WiFi. - -============== - -Copyright (c) 2008 Rama McIntosh -Released under the BSD license found in the file LICENSE From 6ed84c1461079ebde847cd216208aa28b3cd9f30 Mon Sep 17 00:00:00 2001 From: Greg Herlein Date: Wed, 16 Jan 2013 05:17:50 -0800 Subject: [PATCH 3/4] corrected README and LICENSE file locations --- LICENSE | 29 +++++++++++++++++++ README.rdoc | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) create mode 100644 LICENSE create mode 100644 README.rdoc diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6213e1a --- /dev/null +++ b/LICENSE @@ -0,0 +1,29 @@ +# +# Copyright (c) 2009, Rama McIntosh All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# * Neither the name of Rama McIntosh nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS +# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, +# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN +# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# diff --git a/README.rdoc b/README.rdoc new file mode 100644 index 0000000..0ea0156 --- /dev/null +++ b/README.rdoc @@ -0,0 +1,80 @@ +MongooseDaemon +=============== + +MongooseDaemon is an objective C wrapper around +the embedable mongoose http server for iPhone +development. It is offered under a BSD +style license. + +MongooseDaemon is ideal for both embedded http services +as well as simply debugging your iPhone applications +file structure. + +Mongoose is a lightweight embedable http server +written by Sergey Lyubka and offered under +a BSD style license. More information on +mongoose can be found at the project's +site here: http://code.google.com/p/mongoose/ + +NOTE: The mongoose.h and mongoose.c are taken +directly from mongoose-2.6 and are unmodified. +They are simply forked in this package for +convenience and stability. + +Usage +======= + + +Clone the mongoose directory and add it to your X-Code project. + +Then you can start it within one of you classes to +provide http access to your iPhone application. + + +For example, to start MongooseDaemon when your application +starts on port 8080: + +Add the following to MyAppDelegate.h: + ... + #import "MongooseDaemon.h" + .... + @class MongooseDaemon + + @interface MyAppDelegate : NSObject { + ... + MongooseDaemon *mongooseDaemon; + ... + } + +And add the following to MyAppDelegate.m: + ... + @implementation LightyAppDelegate + ... + - (void)applicationDidFinishLaunching:(UIApplication *)application { + mongooseDaemon = [[MongooseDaemon alloc] init]; + [mongooseDaemon startMongooseDaemon:@"8080"]; + + ... + - (void)dealloc { + ... + [mongooseDaemon stopMongooseDaemon]; + [mongooseDaemon release]; + ... + } + +And that's it...an embeded http server with only +about 9 lines of code! + +TODO +======= +1) Add a helper method to return the server's URL for +convience + +2) Add support for some of mongoose's rich feature set. + +3) Investigate if there is anyway to server files over endge/3g instead of just WiFi. + +============== + +Copyright (c) 2008 Rama McIntosh +Released under the BSD license found in the file LICENSE From 4481654f6a3740143ab7bc1f5232cdc256611246 Mon Sep 17 00:00:00 2001 From: Greg Herlein Date: Wed, 16 Jan 2013 05:20:34 -0800 Subject: [PATCH 4/4] updated README --- README.rdoc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.rdoc b/README.rdoc index 0ea0156..d8a42c4 100644 --- a/README.rdoc +++ b/README.rdoc @@ -21,6 +21,10 @@ directly from mongoose-2.6 and are unmodified. They are simply forked in this package for convenience and stability. +NOTE: the project is set up to build a simple .a file that can be linked to your code. +The ideal is to support cocoapods (http://cocoapods.org/). + + Usage =======