Skip to content
This repository was archived by the owner on Oct 2, 2021. It is now read-only.

Feature/restart gcd webserver #30

Closed
wants to merge 3 commits into from

Conversation

macrozone
Copy link
Contributor

@macrozone macrozone commented Jun 6, 2017

applies swisspol/GCDWebServer#299 as well as #25

and fixes #27

I just copied the source code from swisspol/GCDWebServer#299 into this project, not sure if this has some kind of dependency management?

you can install and try this fix with:

cordova-plugin-meteor-webapp@https://github.com/panter/cordova-plugin-meteor-webapp.git#7bb095ce393d17f662cc6bb596ce91acf743d17a

meteor 1.6.1 users use: cordova-plugin-meteor-webapp@https://github.com/panter/cordova-plugin-meteor-webapp.git#574e11822890a773cc307ab068e1c745384c80a2 (carefull this version is NOT compatible with meteor < 1.6.1) (this has been fixed in meteor 1.6.1)

@macrozone macrozone changed the title Feature/restart gcd webserver WIP: Feature/restart gcd webserver Jun 6, 2017
@macrozone macrozone changed the title WIP: Feature/restart gcd webserver Feature/restart gcd webserver Jun 6, 2017
@Wade-BuildOtto
Copy link

so far so good, I opened my app this morning and it opened up quicker then I have ever seen, like it was ready to use, few more days of trials and I think we can call this fixed.

crossing fingers,
Thank you so much,

@macrozone
Copy link
Contributor Author

crossing fingers too, had also no problem anymore ;-)

@abernix
Copy link
Contributor

abernix commented Jun 13, 2017

@macrozone Thank you very much for taking a look at this. I would love to get this reviewed, merged and released, possibly in Meteor 1.5.2 and along with other Cordova updates.

That said, it would be substantially easier to review this pull request (which must be reviewed carefully, in its entirety) if it was broken down a lot more. As of right now this is a bit daunting and slightly risky.

The PR you linked to is quite a bit more brief. Maybe a better approach here would be to apply the incremental changes (which have likely been made to the master repository over a longer period of time?) automatically (for example, using git apply or git am with the -p argument to apply all their patches to the GCDWebServer directory). This would bring this repository up to date, while preserving the logical commits and changes from the Git history, and then we could apply this last (outstanding PR)?

Alternatively, it would be far easier to review this if:

  • Formatting (whitespace, new-lines, etc.) changes were submitted in a separate PR (They are valuable, and I'm happy to accept them, but even with GitHub's ?w=1 query parameter (which tries to ignore whitespace changes), there is a lot of non-functionality change in here.
  • Specific functional changes were in separate commits.

As you may not have been the one who added all the formatting and other functionality changes, the previous approach I suggested may be more reasonable.

Thoughts?

@macrozone
Copy link
Contributor Author

@abernix yeah, it's still "make it run make it right make it fast", i just copied the code.

I try to give my best to do this cleaner, but i have to familiarize myself with these advanced git workflows.

I would suggest to first review & merge #25

as I also included this. So I could focuse on applying the gcd-webserver fixes

@abernix
Copy link
Contributor

abernix commented Jul 18, 2017

@macrozone Any updates on this?

I ask as I'd love to get this into Meteor 1.5.2!

@abernix
Copy link
Contributor

abernix commented Jul 19, 2017

Assuming my changes from #31 work okay, this can be rebased on that and evaluated much more efficiently – though it would still be great if swisspol/GCDWebServer#299 could get the blessing of the original author and be officially merged!

@macrozone
Copy link
Contributor Author

@abernix I will give it a try this week, stay tuned.

@dylanjaye
Copy link

Just wanted to confirm this fix. I was having issues with Meteor failing to load resources on iOS after locking the screen.

Incorporating this cordova plugin: cordova-plugin-meteor-webapp@https://github.com/panter/cordova-plugin-meteor-webapp.git#7bb095ce393d17f662cc6bb596ce91acf743d17a

as suggested by @macrozone has completely fixed my issue. +1

@Nauzer
Copy link
Contributor

Nauzer commented Sep 6, 2017

@abernix @macrozone how is it looking? Any chance this might get into 1.5.2?
Since 1.5.2 is a minor version can it contain cordova plugin updates?

@macrozone
Copy link
Contributor Author

@Nauzer we should merge #31 first and then apply swisspol/GCDWebServer#299

it would be easier if swisspol/GCDWebServer#299 would be merged in the original repository though, so maybe you leave an upvote there ;-)

cp612sh pushed a commit to cp612sh/cordova-plugin-meteor-webapp that referenced this pull request Nov 16, 2017
c5a2669 Bump plugin and package version to 1.4.2.
a63a912 Merge pull request meteor#25 from awwx/run-local-web-server-in-bg
870957c Continue running the local web server in the background
10d4ddb Bump plugin and package version to 1.4.1
0c592d7 Don't restart timer when entering the foreground
ae823d1 Bump plugin and package version to 1.4.0
8bbf1ae Avoid timeout when the app starts up in the background
a27143f Set SWIFT_VERSION on Xcode project
0026e0c Remove Box because structs can now be stored directly
da3f50a Rename NSURLSession protocol names in section markers
25bf0ca Workaround for Swift bug with allHeaderFields
34ce7c8 Fix formatting of former where clause in conditional
f810da5 Adjust naming to new lowercase casing convention
40de4a6 Replace fileprivate with private access
3f82cd1 Improve optional handling for GCDWebServer API in migrated code
085bd53 Replace deprecated global queue priority with qos level
003a6ec Make urlComponents a var
ff23870 Convert port to UInt
9852afb Fix unnecessary unwrapping  of optionals
aa41688 Use queue.sync and remove mistaken cast
8654045 Cast to NSError to access userInfo
2c3c550 Use URL.withUnsafeBytes to access bytes
413d355 Use new URLResourceValues struct
29ad0a0 Remove no longer needed rethrowing dispatch_sync
f57d81f Automatic migration to Swift 3
f97b60a Merge pull request meteor#14 from jackkav/patch-1
d55ad73 Corrected what appears to be a logic error
dd2d615 Bump plugin and package version to 1.3.0
d1f4f4c Remove file:// URL transformer
5cfdde1 Bump plugin and package version to 1.2.0
fafd0ce Add cordovaCompatibilityVersion check
7e135e1 Log errors on Android
370eb03 Remove unnecessary logging on iOS
23fbbe8 Bump plugin and package version to 1.1.1
e5afbc7 0.10.0
eb5bee6 Make startup timeout configurable
3f4af4c Use MeteorWebApp tag everywhere for logging on Android
4f848af Add workaround for Swift designated initializer issue with CDVPlugin
fe09270 Increase startup timeout to 20s avoid false positives on slower devices
2eec00e Set LastSwiftUpdateCheck in a plugin hook to avoid Xcode conversion message
4038c53 0.9.1
c4e0ddc Rename onNewVersionDownloaded to onNewVersionReady
2d3f2cb Rename notifyDownloadFailure to notifyError
0ec56cd Don't treat missing format in manifest as incompatible
cd745af Rename onDownloadFailure to onError
95e7010 Bump package version to 0.9.0
b2a7b29 Rename WebAppCordova to WebAppLocalServer
2198ea3 Allow ROOT_URL in downloaded asset bundle to change, unless it is changing to localhost
04194b2 Don't log download failures twice on iOS
bbe3aaf Set assetBundleDownloader to null after download completes or fails
0106959 Optimize Java imports in Android plugin
56a57e1 Add more tests, fix concurrency issues and verify runtime config on Android
fc91e8a Check callbackId before sending plugin result and keep callback on iOS
c940dd3 Don't redownload initial asset bundle
68d8aee Mark two MIME tests as pending on Android
d79231e Make partial download tests pass on Android
361593f Synchronize on missingAssets set when iterating
c87a9f0 Mark currently unimplementable tests as pending on Android
4225b92 Some small cleanups in iOS plugin
6ba5c8e Use cached assets from other downloaded bundles in Android plugin
fbcb401 Remove unused status from iOS plugin
60638dd Some small cleanups in iOS plugin
dbec3df Improve error reporting and make unit tests run for Android plugin
7e8db6b Fix bug in lastSeenInitialVersion setter
103b91c Update OkHttp dependency
e0bc1e8 Fully initialize the plugin on the UI thread
3b97ce2 Fix tests on iOS
7df6a1f Return a 404 response for /favicon.ico
eee95e7 Add local file access through localhost on Android
405254b Send plugin result immediately in startupDidComplete()
efa570e Do not redownload pending version
bddbc44 Spelling corrections in comments
00f923b Add hot code push on Android
23ff563 Fix expected error message in test
d3e2a14 Rename cachedAsset to asset
c5eae6a Add status code to non-success error message
626b7c7 Also check response status when downloading manifest and add isSuccessful utility method
12d168d Use localServerPort from content src in config.xml
68ef3c5 Revert "Intercept file://app instead of http://localhost on Android"
fd6d05b Intercept file://app instead of http://localhost on Android
e03d7e2 Add local file system access to iOS plugin
b208268 Don't revert to the initial asset bundle if that is what we are currently serving
77ab653 Add design docs to README
61d4591 Rename WebAppCordova to MeteorWebApp
c2e1e95 Initial commit of the Android plugin
a52d09a Do not serve index.html for a non-existing /favicon.ico
e3c0181 Change local server port for testing to 12000
374a7b1 Update fetch polyfill to latest version
e00f250 Remove debug output and add more comments
69decc9 Verify downloaded asset bundle to make sure appId and ROOT_URL are suitable
db3df79 Extract WebAppConfiguration into separate class
b674bb3 Improve error reporting
f4e2a62 Also verify response on resume
1f362e4 Fail fast on non-success or invalid asset hash response
2fb318d ETags should be enclosed in double quotes
477dea6 Avoid capturing self in startupTimer closure
cce1e4e Resume downloads later after network error
b7a3ad1 Avoid creating multiple startupTimers during testing
f632c18 Check for non-success status code when downloading asset
58b18f4 Properly handle meteor_dont_serve_index in mock remote server
596c105 Code cleanup and some reorganization
13473fb Remember last known good version
8dac857 Some whitespace changes
8d28331 Blacklist versions on startup timeout and revert to initial version
097fb05 Choose listening port based on appId
51aeea9 Detect downloading invalid version of index page
143fb33 Avoid inadvertently downloading the default index page when an asset is not found
2c89d7f Fix compiler warning
76dd071 Fix multiline string in package.json
b3c757f Merge commit '5b15e809997e371c6ce2b33aca1925b1bb948946' as 'src/ios/GCDWebServer'
5b15e80 Squashed 'src/ios/GCDWebServer/' content from commit 8a6a139
4413e66 Initial commit
REVERT: 8a6a139 Merge pull request #236 from maeldur/master
REVERT: 4eba86f Merge pull request #238 from bendytree/master
REVERT: ea97373 Also set CFBundleVersion in Info.plist
REVERT: 5707076 Updated to Xcode 7.2
REVERT: e1fb807 Bumped version
REVERT: 7157572 Added libz and header instructions to readme
REVERT: 94e30f6 Added libz and header instructions to readme
REVERT: c989411 Use Xcode 7.1 in Travis CI
REVERT: 4ee9c30 Fixed build script
REVERT: 48cf20b Updated iOS app to latest best practices
REVERT: ac9b8a5 Added support for tvOS
REVERT: cad428c Removed deprecation warnings on tvOS
REVERT: bb5c1a5 No need to link explicitly to Foundation
REVERT: bef9523 Updated for Xcode 7.1
REVERT: 0192c36 Fix
REVERT: 062a0dc allow serverURL to be assigned on tvOS with wifi connection
REVERT: 21d9fc2 Merge pull request #228 from CrossWaterBridge/tvos
REVERT: 614ff58 Enable support for tvOS.
REVERT: 7b0477b Merge pull request #219 from macdrevx/pods-use-frameworks
REVERT: a674614 Enable support for Podfiles with use_frameworks!
REVERT: b549f11 Merge pull request #218 from tifroz/master
REVERT: 9d38bb4 Workaround for Swift2 which apparently fails to retain the completion blocks passed as parameters
REVERT: 44c6a8a Update README.md
REVERT: aaf8679 Increased Bonjour resolution timeout to 5 seconds
REVERT: 81d74b4 Fix
REVERT: f7de5ca Fix
REVERT: a1c6835 Bumped version to 3.3
REVERT: e70a333 Added support for NAT port mapping
REVERT: 3c33e9f Bumped version to 3.2.7
REVERT: d160e5f Merge pull request #213 from 0xpablo/master
REVERT: 2d2343a Turn 'buildForRunning' on for 'GCDWebServers' iOS and Mac Schemes
REVERT: f6783da Updated test script to run built-in tests
REVERT: 99cae36 Added minimal tests for Mac framework
REVERT: b292710 Fix
REVERT: b8b4a35 Add version to framework Info.plist
REVERT: ecc572a Bumped version to 3.2.6
REVERT: 3a02341 Disable testing and running in shared schemes for frameworks
REVERT: e792fe8 Fixes
REVERT: 4c8ec1d Removed unnecessary files from Xcode project
REVERT: f7bb5ba Bumped copyright year
REVERT: ae88198 Update README.md
REVERT: d71c0d4 Update README.md
REVERT: d611ae0 Merge pull request #187 from lfaoro/patch-2
REVERT: 93287ed Update README.md
REVERT: dc28790 Merge pull request #186 from lfaoro/patch-1
REVERT: ab9459a Update README.md
REVERT: aa8fc97 Fixed buffer overflow when retrieving socket addresses
REVERT: 863febe Updated for Xcode 7
REVERT: 2ff117d Merge pull request #183 from guidomb/patch-1
REVERT: 4838d0d Fixes error in Carthage documentation
REVERT: c394ae8 Update README.md
REVERT: bdfe672 Bumped version
REVERT: b1ab747 Update README.md
REVERT: 03a0ac3 Added Carthage support
REVERT: bd2c292 Generating Frameworks
REVERT: e8b6726 Bumped version
REVERT: 3d5fd0b Update README.md
REVERT: 9524d31 Allow harmless 'Content-Type' headers on requests
REVERT: a3606d6 Don't start a background task while the app is already in background
REVERT: 00b2c38 Bumped version
REVERT: 0a9d310 Fixed -serverURL not taking into account GCDWebServerOption_BindToLocalhost
REVERT: 0f0a984 Fixed Xcode 6.3 warnings
REVERT: 047fddd Merge pull request #155 from sergiou87/master
REVERT: 79d6075 Add remote and local addresses to GCDWebServerRequest
REVERT: 594497d Updated for CocoaLumberJack 2.0
REVERT: 1f7c036 Removed Bot scheme
REVERT: fe472cd Update README.md
REVERT: 9c33c83 Handle starting the server with nil options
REVERT: 9719406 Made _CompareResources() easier to read
REVERT: 0b8f7ff Merge remote-tracking branch 'origin/master'
REVERT: 71c08cf Update README.md
REVERT: 1a67864 Bumped version
REVERT: 472c785 Only wipe GCDWebUploader.bundle on Debug to avoid issues on Xcode bot
REVERT: 2fdeb95 Added Xcode bot scheme
REVERT: c4310fc Addressed static analyzer warnings
REVERT: 33645d3 Fixed incorrect documentation for GCDWebServerAsyncStreamBlock
REVERT: 3618dca Added asyncResponse2 mode
REVERT: 432e382 Update README.md
REVERT: 4e31508 Removed invalid check
REVERT: 628f667 Bumped version
REVERT: 1944cd8 Fixed tests
REVERT: d2001e3 Fixes
REVERT: 1888979 Fixed behavior of GCDWebServerOption_BonjourName option
REVERT: 14d538b Added GCDWebServerOption_BindToLocalhost option
REVERT: 3b7198b Merge pull request meteor#105 from nickgravelyn/fix-crash-in-ios-unit-test
REVERT: abb8913 Adding check to _endBackgroundTask to verify the application exists before calling GWS_DNOT_REACHED.
REVERT: 059f5c8 Update README.md
REVERT: 9d9546b Bumped version
REVERT: 2ff05b1 Bumped version
REVERT: bf2c9a1 Workaround Firefox and IE not showing file selection dialog
REVERT: 15caa9c Fix
REVERT: 32ba49a Removed MRC support entirely
REVERT: 8b87924 Bumped version
REVERT: 5bda05c Update README.md
REVERT: a8481af Update README.md
REVERT: b5ad507 Update README.md
REVERT: 8c8e484 Fix
REVERT: 514c09d Added truly asynchronous support to GCDWebServerStreamedResponse
REVERT: c4bf7b1 Added support for asynchronous reading in GCDWebServerBodyReader
REVERT: a933b21 Fix
REVERT: 001df4e Fix
REVERT: 75d018a meteor#85 Added support for IPv6
REVERT: 4449e42 Update README.md
REVERT: c45053b Added support for third-party logging facilities
REVERT: 5070e4f Update README.md
REVERT: 7c1e70a Added XLFacilityLogging.h
REVERT: 7102c79 Fix
REVERT: 2de9418 Enabled ENABLE_STRICT_OBJC_MSGSEND
REVERT: e59cf4b Bumped version
REVERT: 9e8f0e0 Updated iOS app for iOS 8 SDK
REVERT: d7650a7 Lowered deployment targets
REVERT: 420ddc3 Replaced preprocessor constant "NDEBUG" by the more standard "DEBUG" one and flipped behavior accordingly
REVERT: 143e38c Added README and podspec files to Xcode project for convenience
REVERT: 8e9fe4c Update README.md
REVERT: 95bccff Fix
REVERT: 780a608 Update README.md
REVERT: 18d93bb Bumped version
REVERT: b35ebd7 meteor#92 Added support for async handlers
REVERT: a11b047 Renamed GCDWebServerStreamingBlock to GCDWebServerStreamBlock
REVERT: 4eac9d4 Upgrade to Xcode 6.1
REVERT: d1e2a1a Bumped version
REVERT: 54d5abd Fixed rare race-condition with disconnection timer
REVERT: a9fee8d Fixed rare exception in GCDWebServerParseURLEncodedForm()
REVERT: 6b15bda Merge pull request meteor#89 from nickgravelyn/capture-regex-parameters-in-request
REVERT: 3771cf4 Adding an attribute collection to GCDWebServerRequest and adding regular expression captures as an attribute.
REVERT: a5d83ab Bumped version to 2.5.2
REVERT: f1e9f1a Improved handling of symbolic links in -addGETHandlerForBasePath:directoryPath:indexFilename:cacheAge:allowRangeRequests:
REVERT: 00b5ec8 meteor#76 Fixed -bonjourServerURL to correctly return hostname instead of service name
REVERT: cf94e70 Fall back to CFBundleName if CFBundleDisplayName is not available
REVERT: d47409c Updated for Xcode6
REVERT: a9db134 Bumped version
REVERT: 17fad0f Improved automatic detection of when to use dispatch_retain() and dispatch_release() depending on compiler settings
REVERT: 5493d9e Run test against default and oldest supported deployment targets
REVERT: 12b1edb meteor#70 Ensure -isRunning works as expected even if GCDWebServerOption_AutomaticallySuspendInBackground is enabled
REVERT: 7544a6d Update
REVERT: f9621c8 Bumped version
REVERT: 7a93b27 Update README.md
REVERT: 9d48f9e meteor#57 Validate paths passed to GCDWebDAVServer and GCDWebUploader to ensure they are within the upload directory
REVERT: 7c6e85c Merge pull request meteor#60 from pvblivs/master
REVERT: 24fbd16 Update README.md
REVERT: 0ae0d41 Adding instructions for Swift command line tool
REVERT: 6d550a0 Merge pull request meteor#55 from mstarinteractive/fix-json-content-type
REVERT: a7f46b7 Fix content-types like "application/json; charset=utf-8"
REVERT: d1c7f9a Merge pull request meteor#56 from jaanus/customBonjourType
REVERT: 93bfe65 Removed unneeded API. If custom Bonjour type is needed, startWithOptions should be used to specify an options dictionary with the custom type.
REVERT: 8ab53f7 Can specify a custom Bonjour service type for the server.
REVERT: 04a6978 Update README.md
REVERT: dfd019d Update README.md
REVERT: 4db631f Fixed errno being corrupted by LOG_ERROR()
REVERT: ba03d75 Merge pull request meteor#52 from tipbit/fix-empty-query-param
REVERT: 04f59a9 Fix GCDWebServerParseURLEncodedForm to allow empty values.
REVERT: 40ea252 Ensure connected state is updated immediately after calling -stop
REVERT: c193860 Fix
REVERT: 94ad8c7 No need to call -stop from -dealloc
REVERT: 56c0969 Fix
REVERT: 8cbaf0f Added video streaming unit test
REVERT: 295901c Reject files greater than 4 GiB in 32 bit mode
REVERT: 2dda0c9 meteor#50 Use NSUIntegerMax instead of NSNotFound to indicate undefined length
REVERT: 70a38c8 Fix
REVERT: 1b12a7b Ensure pending scheduled callbacks have executed in "run" APIs
REVERT: 75e6332 Don't delay disconnected state update if already stopped
REVERT: 420ed71 Add SIGTERM support to -runWithOptions:error:
REVERT: 3b75f9d Added -rewriteRequestURL:withMethod:headers: hook
REVERT: f01307b Bumped version
REVERT: 1f5e650 Fix
REVERT: d404112 meteor#46 Added "error" argument to -startWithOptions:
REVERT: dd3f539 meteor#47 Ensure listening socket is closed when -stop returns
REVERT: 0c51d09 Update README.md
REVERT: 0c53c52 Fix
REVERT: a687b52 meteor#39 Added support for "multipart/mixed" parts inside "multipart/form-data"
REVERT: c8c34aa Fix
REVERT: ed709d1 Added HTMLFileUpload unit tests
REVERT: 3dc7cb0 Added HTMLForm unit tests
REVERT: 142f007 Added "htmlFileUpload" mode
REVERT: c8d2b22 Modified GCDWebServerMultiPart to allow duplicate control names
REVERT: f7d6da5 Added GCDWebServerMIMEStreamParser class
REVERT: 5a0c274 Fix
REVERT: 591da12 Exclude GCDWebServerPrivate.h from Podspec
REVERT: 7247542 Bumped version
REVERT: 01da596 Update README.md
REVERT: 46890a0 Merge pull request meteor#43 from iosphere/pullrequest/unusedVar
REVERT: 143ca5b Fix
REVERT: 519866b  Fix
REVERT: a93cac5 Fix
REVERT: 43b5786 Fix
REVERT: 10cbe27 Fixed open() calls
REVERT: b1169ce Bumped version
REVERT: 766072e Renamed GCDWebServerStreamingResponse to GCDWebServerStreamedResponse.h
REVERT: 0807cf5 meteor#33 Documented Requests/ and Responses/
REVERT: c6701cd Renamed "showHiddenFiles" property to "allowHiddenItems"
REVERT: b6866be meteor#33 Documented GCDWebDAVServer/ and GCDWebUploader/
REVERT: 075774b Added -webServerDidCompleteBonjourRegistration:
REVERT: 7743d18 Added -logException:
REVERT: 633d40f Don't cache GCDWebServerDataResponse
REVERT: 5d82a80 meteor#33 Documented Core/
REVERT: 3e5fe3f Fixes logging for non-arc builds
REVERT: 5a26a09 Update README.md
REVERT: 51e8dbe meteor#41 Fixed linking issues with Podspec
REVERT: 4a3d453 Update README.md
REVERT: a5208bd Fixes a static analyzer warning about unused variables when logging is disabled
REVERT: 2597d6d Bumped version
REVERT: 1ca5a56 Allow multiple user accounts for authentication
REVERT: 80cff01 Update README.md
REVERT: 1e17d5c meteor#38 Added support for digest authentication
REVERT: ce1eb3c Fix
REVERT: f11647e Fixed unit tests
REVERT: 60f281f meteor#40 Allow non ISO Latin 1 file names when downloading files
REVERT: 181984b Update README.md
REVERT: 4685fae Cleaned up authentication options
REVERT: 8619799 Added -preflightRequest: and -overrideResponse:forRequest: APIs
REVERT: b106137 Fix
REVERT: 9bc2bfa Update README.md
REVERT: 078c5e7 Bumped version
REVERT: 3f304b3 Fixed parsing of 'multipart/form-data' with non-ASCII headers
REVERT: 8034807 Added support for Basic Authentication
REVERT: 099b2a0 Updated run APIs to use options
REVERT: f0c63f4 Fixes
REVERT: 4e3aa3b Update README.md
REVERT: c5d82b8 Update README.md
REVERT: b1181d2 Update README.md
REVERT: d931e04 Update README.md
REVERT: 016c4da Update README.md
REVERT: 38dd39a Update README.md
REVERT: 748f6a8 Update README.md
REVERT: 0b3f825 Bumped version
REVERT: 6b91426 Update README.md
REVERT: 0a21059 Added support for background mode on iOS
REVERT: 14acb7b Fix
REVERT: 2f7f7b7 Fix
REVERT: 998a47b Replaced GCDWebServer subclassing with explicit options
REVERT: 2d8996b Added connected state to GCDWebServer
REVERT: c5ca0f7 Added GCDWebServerDelegate
REVERT: 05a704b Fix
REVERT: c170fb4 Use strerror() consistently
REVERT: 55a9abd Fix
REVERT: 489c8c6 Added +[GCDWebServer maxPendingConnections]
REVERT: 9c73736 Fix
REVERT: 1f503aa Fix
REVERT: 4eeeab7 Build iOS app using iOS Simulator SDK on Travis CI
REVERT: 813f124 Fix
REVERT: 8fe6644 Cleaned up connections read / write implementation
REVERT: e3efc06 Build iOS app as part of unit tests
REVERT: 016153f Isolated all testing code with __GCDWEBSERVER_ENABLE_TESTING__
REVERT: a55781e Changed -[GCDWebServerConnection open] to return a BOOL
REVERT: 4fb5d67 Fixed broken iOS build with __GCDWEBSERVER_ENABLE_TESTING__
REVERT: 14e04b4 Fixes
REVERT: ad01c15 Update README.md
REVERT: bb0f624 Update README.md
REVERT: 1422883 Update README.md
REVERT: eb16566 Update README.md
REVERT: 06e0fc5 Fixes
REVERT: ea77786 Bumped version
REVERT: 5842149 Fixed unit tests to work in any time zone
REVERT: 46ee1a4 Fixed source folder name typo!
REVERT: c1b2b79 Update README.md
REVERT: 41c5633 Update README.md
REVERT: 2810086 Update README.md
REVERT: c8cd771 Make header parsing more robust
REVERT: 252c38c Force preserve scrolling position
REVERT: cedeb88 Bumped version
REVERT: 854bbdc Disable table reloads while renaming
REVERT: b949187 Use jquery data() instead of element attributes
REVERT: dafcb0d Enable Enter key for dialogs
REVERT: 7bceb81 Force overwrite of entire GCDWebUploader.bundle on build
REVERT: 4c2ac12 Fix
REVERT: 1d2efbb Update README.md
REVERT: 91b8327 Organized source code in subfolders
REVERT: 0852bf2 Moved functions to GCDWebServerFunctions.[h/m]
REVERT: eb29232 meteor#34 Added Travis CI integration
REVERT: 3b1fa05 Update .travis.yml
REVERT: 4535c5d Update Run-Tests.sh
REVERT: ccd1eaa Create .travis.yml
REVERT: 1b805c3 Update GCDWebServerRequest.h
REVERT: 2172872 Update README.md
REVERT: 894eacd Bumped version
REVERT: 7a54bcb meteor#35 Finalized unit tests
REVERT: a28ac82 meteor#35 More work on unit tests
REVERT: c062d9d Use internal functions for date formatting in WebDAV
REVERT: bb32a72 Update README.md
REVERT: 1b6e4f6 meteor#35 First pass at unit tests
REVERT: 7b51023 Fixed memory corruption under non-ARC
REVERT: f21c6ab Fix
REVERT: 0dd6d8c Fix memory leak
REVERT: d58b212 Improved CocoaPods integration
REVERT: 4fa91f6 Don't use SO_REUSEPORT
REVERT: dfd3707 Fix
REVERT: 582c6da More cleaning of logging system
REVERT: 1e1fd24 Optimized logging
REVERT: a3996f3 Merge branch 'v2'
REVERT: 2ecbfea Fix
REVERT: d78aa3b Allow HEAD requests on collections
REVERT: fcea9ca Moved +shouldAutomaticallyMapHEADToGET to GCDWebServer class
REVERT: d383845 Cleaned up file servers error handling
REVERT: 97929f7 Added -description methods
REVERT: 4008b5b Only set "Cache-Control" on successful responses
REVERT: e49b921 Renamed "filePath" to "temporaryPath"
REVERT: 30eb01c Fixed memory corruption
REVERT: 6f90a3e Log real request method
REVERT: efad06f __unsafe_unretained does not prevent self retain-cycles when not under ARC
REVERT: 811e45a Properly handle casing of header values
REVERT: f14dda5 Update README.md
REVERT: e5550bf Fix non-ARC build failure
REVERT: 9f0544b Removed Mac Finder mode
REVERT: d2c0d6d Update README.md
REVERT: d5811fe Added compatibility with OS X Finder for WebDAV
REVERT: b494e40 Fix
REVERT: 157b683 Automatically map HEAD requests to GET ones
REVERT: 62ee560 Added -replaceResponse:forRequest: hook
REVERT: bda3d91 Automatically handle ETag and Last-Modified-Date caching
REVERT: 6210564 Added support for "ETag" and "If-None-Match" headers
REVERT: c454dc4 Simplified internal checks for requests and responses
REVERT: 289059c Added support for "If-Modified-Since" and "Accept-Encoding" headers
REVERT: f1a79ff Added support for "Last-Modified" response header
REVERT: 7339a7a Factored out HTTP date parsing and formatting
REVERT: 1be1966 Fix
REVERT: 30756fc Update README.md
REVERT: 4c993eb Update README.md
REVERT: 60f9ee9 Fix
REVERT: b3a700d Ensure Content-Type header is lowercased
REVERT: 881cc3b Added JSON and text extensions to GCDWebServerDataRequest
REVERT: e26c9b7 Updated to "instancetype" type
REVERT: 3401206 Fix
REVERT: 715d985 Update README.md
REVERT: efb1f9f First pass at implementing class 1 WebDAV server
REVERT: 93c6a9b More refactoring of GCDWebUploader
REVERT: 1d381c9 Refactor GCDWebUploader
REVERT: 31d51cf Updated GCDWebUploader to latest APIs
REVERT: 35ce178 Added GCDWebServerErrorResponse
REVERT: 5ece52f Fix
REVERT: 1318102 Improved logging APIs
REVERT: b942a9d Fix
REVERT: 047a060 Make default implementation for GCDWebServerRequest and GCDWebServerResponse ignore bodies
REVERT: 4b46c95 Allow requests with body but no Content-Type header
REVERT: 794ab5f Fixes
REVERT: fb08e77 Added -hasByteRange API
REVERT: c51f9ad Added GCDWebServerHTTPStatusCodes.h
REVERT: 7ec8d52 Added logging APIs
REVERT: dcbc0f9 Fixed addDefaultHandlerForMethod:requestClass:processBlock: ignoring method
REVERT: f61ff83 Added -abortRequest:withStatusCode: API
REVERT: e85a0c9 Update README.md
REVERT: 8f9c039 Renamed GCDWebServerStreamResponse to GCDWebServerStreamingResponse
REVERT: c5d3764 Moved response body chunked transfer encoding to GCDWebServerConnection
REVERT: 7af258e meteor#17 Added support for chunked transfer encoding in request bodies
REVERT: c213e16 Fix
REVERT: 06630d3 Added support for gzip body encoding
REVERT: 63a66ff Added GCDWebServerBodyWriter protocol
REVERT: 1f9a0d3 Split class files
REVERT: 81638ad First pass at adding body encoders
REVERT: 7506f9c Fix
REVERT: 1315c0e Enable -Wshadow
REVERT: 2c98a59 Merge pull request meteor#32 from iosphere/pullrequest/shadowLocalVar
REVERT: 9a4ec5b Fixes warning regarding shadowing local variables
REVERT: 8bebee9 Enforce Content-Type and Content-Length consistency on requests
REVERT: 7cd68b3 Fix
REVERT: 6a4f74c Added GCDWebServerChunkedResponse
REVERT: 8116d88 Make contentType and contentLength properties
REVERT: 467830e Fix
REVERT: 030c28e Fix
REVERT: e470205 meteor#30 Add support for moving files
REVERT: 877813e Fix
REVERT: ccfb4f0 Use modal panel instead of prompt() when creating folders
REVERT: e27fd60 Fix
REVERT: 7c7f561 Fixed default footer for CLTs
REVERT: 689cb5f Fix
REVERT: 1e4c508 Update README.md
REVERT: ef08ab5 Update README.md
REVERT: 18ad23f Update README.md
REVERT: d68687a Fix
REVERT: 0cdf441 Update README.md
REVERT: 33efd2a Fixed retain cycle
REVERT: df95ecb Updated web interface
REVERT: 0bad724 Updated API
REVERT: 74f9916 Fix
REVERT: f505e3a Fix
REVERT: a872531 Fixed crash under non-ARC
REVERT: 4a3135d Handle recursive reloads
REVERT: 25c486c Fix
REVERT: 73ff754 Removed global progress bar
REVERT: 22d1240 Fix
REVERT: 148735b Fix
REVERT: a92da4f First pass at new Web Uploader UX
REVERT: e463655 Fix
REVERT: 7f5ef92 Fix
REVERT: 768d9fe Fix
REVERT: c0854f2 Fix
REVERT: 9b79f2e Update README.md
REVERT: e630482 Fix
REVERT: 8bfefde Added GCDWebServerGetPrimaryIPv4Address() and server URL properties
REVERT: d32ea02 Expose local and remote address on GCDWebServerConnection
REVERT: 4a93b19 Update README.md
REVERT: 3f9aef4 Update README.md
REVERT: 35bf846 Added GCDWebUploader
REVERT: 4446c11 Fixes
REVERT: 223bc4b Allow customizing content type for JSON responses
REVERT: 6d43485 Added GCDWebServerEscapeURLString()
REVERT: aa5dd8f GCDWebServerGetMimeTypeForExtension() always returns a MIME type
REVERT: eac83a4 Added JSON support to GCDWebServerDataResponse
REVERT: 120f6fc Fixed more build warnings
REVERT: e911472 Switched to standard architectures on iOS
REVERT: fb247dc Enabled -Wshorten-64-to-32
REVERT: 4d53e18 Moved logging message function to GCDWebServer.m
REVERT: ea19249 Changed default port to 80 on iOS but still 8080 on Mac & iOS Simulator
REVERT: a3894fb Disable -runWithPort: on iOS
REVERT: 47b8ea5 Added Drag & Drop browser file upload demo based on filedropjs.org
REVERT: dc7fe87 Exposed internal utility functions
REVERT: cedec20 Updated handlers convenience API
REVERT: ed0f3ac Enable -Weverything for Debug builds
REVERT: 0a48f42 Exposed mode to CLI
REVERT: 6c14394 Moved more ivars to class extensions
REVERT: 79e041e Merge branch 'Range-Requests'
REVERT: fb02b9f Fix
REVERT: 1b163b1 meteor#27 Updated API to expose range requests support
REVERT: eb6589e Fix
REVERT: 0a34a0b meteor#27 Only set "Accept-Ranges" header on files
REVERT: 1e99e91 meteor#27 Initial pass at HTTP range requests support
REVERT: 096b07a meteor#22 Exposed hooks to monitor bytes read and written
REVERT: e65b569 Move ivars to class extensions
REVERT: 08e58e4 Rename "class" method arguments to "aClass" for C++ compatibility
REVERT: 111027f Updated to Xcode 5.1
REVERT: d7e9386 Fixed rare exception
REVERT: 040515a Update README.md
REVERT: bb56e1e Fix
REVERT: ff7a5c8 Updated copyright year
REVERT: 7c24996 Removed podspec file
REVERT: feacf76 Updated podspec
REVERT: 3665827 Fixed more build warnings
REVERT: 0f2f22a Updated for arm64
REVERT: 628cf68 Make sure @BonjourName is not an empty string
REVERT: 9392dda Added bonjourName property
REVERT: 5dee044 Check for main thread only during first +initialize call
REVERT: 7c8205c Don't use dispatch_release() under ARC in OS X 10.8 or iOS 6.0 and later
REVERT: 965e111 Don't use deprecated dispatch_get_current_queue()
REVERT: 8a69050 Merge pull request meteor#14 from chrisdevereux/master
REVERT: a15a492 Log to stderr, not stdout
REVERT: 404b465 Merge pull request meteor#13 from djmadcat/master
REVERT: 811e18e Add podspec for version 1.2
REVERT: 78480e0 Added ARC support
REVERT: 2e58791 Cleaned up .gitignore
REVERT: 544e236 Merge branch 'master' of https://github.com/swisspol/GCDWebServer
REVERT: 1a1ee28 Fixed copyrights
REVERT: e665d0a Update README.md
REVERT: 43cc98a Fixed placeholders
REVERT: 1d08a8f Update README.md
REVERT: 2cddc8c Update README.md
REVERT: 1344ad9 Fixed links
REVERT: 3eb27a4 Updated to Xcode 5.0
REVERT: a557080 Removed dependency on CFSocket to be 100% GCD based
REVERT: 20507e9 Small fixes
REVERT: bcd9654 Fixed headers not being parsed properly when not received all at once
REVERT: e00f4e1 Merge pull request meteor#1 from ChristianKienle/master
REVERT: 2bfcbbc Removes unnecessary NSAssert
REVERT: 6ede203 Fixes double space typo
REVERT: 9e042c9 Improves the handling of port 0
REVERT: 2264cc9 Update README.md
REVERT: 5dac186 Update README.md
REVERT: 1354df5 Fixed typo
REVERT: 679f62a Fixed syntax
REVERT: fca52ab Update README.md
REVERT: 9f32420 Update README.md
REVERT: 0716de5 Updated Xcode project for Mac & iOS
REVERT: 23bddb2 Moved GCDWebServerConnection to its own source files
REVERT: eb231cd Fixes
REVERT: 729a3b2 Update README.md
REVERT: f6d1bd8 Update README.md
REVERT: c62b0dd Update README.md
REVERT: dda208b Update README.md
REVERT: 3c79653 Update README.md
REVERT: 8e9a6d7 Update README.md
REVERT: f2d33a0 Update README.md
REVERT: 741e208 Update README.md
REVERT: a08ceb9 Update README.md
REVERT: c35afc1 Update README.md
REVERT: 06c3dec Update README.md
REVERT: 70b6ead Update README.md
REVERT: b166c75 Update README.md
REVERT: eb8b27d Update README.md
REVERT: d483eb9 Added more test cases
REVERT: 878a9b1 Update README.md
REVERT: 9219c52 Initial import
REVERT: b8ca58c Create LICENSE
REVERT: 9c2d7bb Initial commit

git-subtree-dir: src/ios/GCDWebServer
git-subtree-split: c5a2669
(breaking: not compatible with <1.6.1 anymore)
@KoenLav
Copy link

KoenLav commented Jan 17, 2018

@macrozone could you implement your changes (not to GCD webserver, but to the Meteor specific code) into a branch based off this one: https://github.com/meteor/cordova-plugin-meteor-webapp/tree/replace-GCDWebServer-copy-with-submodule ?

Please note that the commit 'Making compatible with Meteor 1.6.1' is no longer required (this has been fixed in Meteor itself).

@benjamn
Copy link
Contributor

benjamn commented Jan 17, 2018

@macrozone Do you think you could rebase the key changes in this PR against the current master branch (version 1.5.2), bearing in mind that src/ios/GCDWebServer is now a git submodule (#45)?

Edit: sorry that's the same request @KoenLav just made… 😝

@KoenLav
Copy link

KoenLav commented Jan 22, 2018

@benjamn I created a PR which covers the changes made in GCDWebServer#299 here:

meteor/GCDWebServer#2

@macrozone
Copy link
Contributor Author

sorry guys, i was skiing in the mountains ;-)

@KoenLav, i can test it in the next week, but from the code, it looks clean to me.

@KoenLav
Copy link

KoenLav commented Mar 6, 2018

@macrozone any progress?

@KoenLav
Copy link

KoenLav commented Jul 31, 2018

@macrozone do you think this PR still provides any value, or rather it should be closed?

@macrozone
Copy link
Contributor Author

@KoenLav

The changes in this PR should have landet already in another PR

@macrozone macrozone closed this Jul 31, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
7 participants