|  | @@ -63,8 +63,9 @@ static int s_failed_tests = 0;
 | 
											
												
													
														|  |  #define HTTPS_PORT HTTP_PORT
 |  |  #define HTTPS_PORT HTTP_PORT
 | 
											
												
													
														|  |  #define LISTENING_ADDR "127.0.0.1:" HTTP_PORT
 |  |  #define LISTENING_ADDR "127.0.0.1:" HTTP_PORT
 | 
											
												
													
														|  |  #else
 |  |  #else
 | 
											
												
													
														|  | 
 |  | +#define HTTP_REDIRECT_PORT "8088"
 | 
											
												
													
														|  |  #define HTTPS_PORT "8443"
 |  |  #define HTTPS_PORT "8443"
 | 
											
												
													
														|  | -#define LISTENING_ADDR "127.0.0.1:" HTTP_PORT ",127.0.0.1:" HTTPS_PORT "s"
 |  | 
 | 
											
												
													
														|  | 
 |  | +#define LISTENING_ADDR "127.0.0.1:" HTTP_PORT ",127.0.0.1:" HTTP_REDIRECT_PORT "r" ",127.0.0.1:" HTTPS_PORT "s"
 | 
											
												
													
														|  |  #endif
 |  |  #endif
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |  static void test_parse_http_message() {
 |  |  static void test_parse_http_message() {
 | 
											
										
											
												
													
														|  | @@ -510,24 +511,25 @@ static void test_mg_download(int use_ssl) {
 | 
											
												
													
														|  |      mg_close_connection(conn);
 |  |      mg_close_connection(conn);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      /* Test non existent */
 |  |      /* Test non existent */
 | 
											
												
													
														|  | -    ASSERT((conn = mg_download("localhost", atoi(HTTP_PORT), 0,
 |  | 
 | 
											
												
													
														|  | 
 |  | +    ASSERT((conn = mg_download("localhost", port, use_ssl,
 | 
											
												
													
														|  |          ebuf, sizeof(ebuf), "%s",
 |  |          ebuf, sizeof(ebuf), "%s",
 | 
											
												
													
														|  | -        "GET /redirect HTTP/1.1\r\n\r\n")) != NULL);
 |  | 
 | 
											
												
													
														|  | 
 |  | +        "GET /non_exist HTTP/1.1\r\n\r\n")) != NULL);
 | 
											
												
													
														|  |      ASSERT(strcmp(conn->request_info.request_method, "HTTP/1.1") == 0);
 |  |      ASSERT(strcmp(conn->request_info.request_method, "HTTP/1.1") == 0);
 | 
											
												
													
														|  |      ASSERT(strcmp(conn->request_info.uri, "404") == 0);
 |  |      ASSERT(strcmp(conn->request_info.uri, "404") == 0);
 | 
											
												
													
														|  |      ASSERT(strcmp(conn->request_info.http_version, "Not Found") == 0);
 |  |      ASSERT(strcmp(conn->request_info.http_version, "Not Found") == 0);
 | 
											
												
													
														|  |      mg_close_connection(conn);
 |  |      mg_close_connection(conn);
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | -    /* Test SSL redirect */
 |  | 
 | 
											
												
													
														|  | -    /* TODO(bel):
 |  | 
 | 
											
												
													
														|  | -    ASSERT((conn = mg_download("localhost", atoi(HTTP_PORT), 0,
 |  | 
 | 
											
												
													
														|  | -        ebuf, sizeof(ebuf), "%s",
 |  | 
 | 
											
												
													
														|  | -        "GET /redirect HTTP/1.1\r\n\r\n")) != NULL);
 |  | 
 | 
											
												
													
														|  | -    ASSERT(strcmp(conn->request_info.uri, "302") == 0);
 |  | 
 | 
											
												
													
														|  | -    ASSERT(strcmp(mg_get_header(conn, "Location"),
 |  | 
 | 
											
												
													
														|  | -        "https://127.0.0.1:" HTTPS_PORT "/redirect") == 0);
 |  | 
 | 
											
												
													
														|  | -    mg_close_connection(conn);
 |  | 
 | 
											
												
													
														|  | -    */
 |  | 
 | 
											
												
													
														|  | 
 |  | +    if (use_ssl) {
 | 
											
												
													
														|  | 
 |  | +        /* Test SSL redirect */
 | 
											
												
													
														|  | 
 |  | +        ASSERT((conn = mg_download("localhost", atoi(HTTP_REDIRECT_PORT), 0,
 | 
											
												
													
														|  | 
 |  | +            ebuf, sizeof(ebuf), "%s",
 | 
											
												
													
														|  | 
 |  | +            "GET /data/4711 HTTP/1.1\r\n\r\n")) != NULL);
 | 
											
												
													
														|  | 
 |  | +        ASSERT(strcmp(conn->request_info.uri, "302") == 0);
 | 
											
												
													
														|  | 
 |  | +        h = mg_get_header(conn, "Location");
 | 
											
												
													
														|  | 
 |  | +        ASSERT(h != NULL);
 | 
											
												
													
														|  | 
 |  | +        ASSERT(strcmp(h, "https://127.0.0.1:" HTTPS_PORT "/data/4711") == 0);
 | 
											
												
													
														|  | 
 |  | +        mg_close_connection(conn);
 | 
											
												
													
														|  | 
 |  | +    }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  |      mg_stop(ctx);
 |  |      mg_stop(ctx);
 | 
											
												
													
														|  |  }
 |  |  }
 |