diff --git a/src/android/NanoHTTPD.java b/src/android/NanoHTTPD.java index 60822a5..2d29a44 100644 --- a/src/android/NanoHTTPD.java +++ b/src/android/NanoHTTPD.java @@ -1093,6 +1093,10 @@ else if ( len < 1024 * 1024 ) } res.addHeader( "Accept-Ranges", "bytes"); // Announce that the file server accepts partial content requestes + + // Add CORS header + res.addHeader( "Access-Control-Allow-Origin", "*"); + return res; } @@ -1104,30 +1108,35 @@ else if ( len < 1024 * 1024 ) static { StringTokenizer st = new StringTokenizer( - "css text/css "+ - "htm text/html "+ - "html text/html "+ - "xml text/xml "+ - "txt text/plain "+ - "asc text/plain "+ - "gif image/gif "+ - "jpg image/jpeg "+ - "jpeg image/jpeg "+ - "png image/png "+ - "mp3 audio/mpeg "+ - "m3u audio/mpeg-url " + - "mp4 video/mp4 " + - "ogv video/ogg " + - "flv video/x-flv " + - "mov video/quicktime " + - "swf application/x-shockwave-flash " + - "js application/javascript "+ - "pdf application/pdf "+ - "doc application/msword "+ - "ogg application/x-ogg "+ - "zip application/octet-stream "+ - "exe application/octet-stream "+ - "class application/octet-stream " ); + "css text/css "+ + "htm text/html "+ + "html text/html "+ + "xml text/xml "+ + "java java=text/x-java-source "+ + "md text/plain "+ + "txt text/plain "+ + "asc text/plain "+ + "gif image/gif "+ + "jpg image/jpeg "+ + "jpeg image/jpeg "+ + "png image/png "+ + "svg image/svg+xml "+ + "mp3 audio/mpeg "+ + "m3u audio/mpeg-url " + + "mp4 video/mp4 " + + "ogv video/ogg " + + "flv video/x-flv " + + "mov video/quicktime " + + "swf application/x-shockwave-flash " + + "js application/javascript "+ + "pdf application/pdf "+ + "doc application/msword "+ + "ogg application/x-ogg "+ + "zip application/octet-stream "+ + "exe application/octet-stream "+ + "class application/octet-stream "+ + "m3u8 application/vnd.apple.mpegurl "+ + "ts video/mp2t " ); while ( st.hasMoreTokens()) theMimeTypes.put( st.nextToken(), st.nextToken()); } diff --git a/src/ios/CocoaHttpd/HTTPConnection.m b/src/ios/CocoaHttpd/HTTPConnection.m index da7e84d..6a8d5bd 100644 --- a/src/ios/CocoaHttpd/HTTPConnection.m +++ b/src/ios/CocoaHttpd/HTTPConnection.m @@ -1200,6 +1200,9 @@ - (void)sendResponseHeadersAndBody } } + // Add CORS header + [response setHeaderField:@"Access-Control-Allow-Origin" value:@"*"]; + // Add optional lastModified header if ([httpResponse respondsToSelector:@selector(lastModified)]) { diff --git a/src/ios/CocoaHttpd/Responses/HTTPFileResponse.m b/src/ios/CocoaHttpd/Responses/HTTPFileResponse.m index 720ff22..0de8935 100644 --- a/src/ios/CocoaHttpd/Responses/HTTPFileResponse.m +++ b/src/ios/CocoaHttpd/Responses/HTTPFileResponse.m @@ -242,4 +242,13 @@ - (void)dealloc } + +- (NSDictionary *)httpHeaders { + //HTTPLogTrace(); + if ([[filePath pathExtension] isEqualToString:@"svg"]) { + return [NSDictionary dictionaryWithObject:@"image/svg+xml" forKey:@"Content-Type"]; + } + return [NSDictionary new]; +} + @end