| 
					
				 | 
			
			
				@@ -22,7 +22,6 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /********************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /* EXPERIMENTAL !!! */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 /********************/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#ifdef USE_EXPERIMENTAL 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 void 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 mirror_body___dev_helper(struct mg_connection *conn) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,24 +41,33 @@ mirror_body___dev_helper(struct mg_connection *conn) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 struct mg_form_data_handler { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	int (*field_found)(const char *key, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	                   size_t keylen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                   const char *value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                   size_t vallen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	                   const char *filename, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	                   int *disposition, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	                   void *user_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	int (*file_found)(const char *key, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                  size_t keylen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                  const char *filename, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                  int *disposition, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	                  void *user_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	void *user_data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+static int 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+field_found(const char *key, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size_t keylen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            const char *value, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            size_t vallen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            struct mg_form_data_handler *fdh) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	/* Call callback */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	mg_url_decode(data, (size_t)keylen, ) return field_found( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	    data, (size_t)keylen, val, (size_t)vallen, fdh->user_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 int 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 mg_handle_form_data(struct mg_connection *conn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     struct mg_form_data_handler *fdh) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	const char *content_type; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	const char *boundary; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    int disposition; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	int has_body_data = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	    (conn->request_info.content_length > 0) || (conn->is_chunked); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -101,6 +109,9 @@ mg_handle_form_data(struct mg_connection *conn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			keylen = val - data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            field_found(data, (size_t)keylen, &disposition, fdh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			val++; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			next = strchr(val, '&'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			if (next) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -112,8 +123,7 @@ mg_handle_form_data(struct mg_connection *conn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			/* Call callback */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			fdh->field_found( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			    data, (size_t)keylen, val, (size_t)vallen, fdh->user_data); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			//field_found(data, (size_t)keylen, val, (size_t)vallen, fdh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			/* Proceed to next entry */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			data = next; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -206,5 +216,3 @@ mg_handle_form_data(struct mg_connection *conn, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	/* Unknown Content-Type */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-#endif 
			 |