Mercurial
comparison seobeo/s_http_client.c @ 195:f8f5004a920a
Merging back hg-web-tip
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 27 Jan 2026 06:51:44 -0800 |
| parents | 71ad34a8bc9a |
| children |
comparison
equal
deleted
inserted
replaced
| 189:14cc84ba35a0 | 195:f8f5004a920a |
|---|---|
| 67 if (!p_req) | 67 if (!p_req) |
| 68 return NULL; | 68 return NULL; |
| 69 | 69 |
| 70 memset(p_req, 0, sizeof(Seobeo_Client_Request)); | 70 memset(p_req, 0, sizeof(Seobeo_Client_Request)); |
| 71 | 71 |
| 72 p_req->p_arena = Dowa_Arena_Create(1024 * 1024); | 72 p_req->p_arena = Dowa_Arena_Create(1024 * 1024 * 5); |
| 73 if (!p_req->p_arena) | 73 if (!p_req->p_arena) |
| 74 { | 74 { |
| 75 free(p_req); | 75 free(p_req); |
| 76 return NULL; | 76 return NULL; |
| 77 } | 77 } |
| 229 if (!p_resp) | 229 if (!p_resp) |
| 230 return NULL; | 230 return NULL; |
| 231 | 231 |
| 232 memset(p_resp, 0, sizeof(Seobeo_Client_Response)); | 232 memset(p_resp, 0, sizeof(Seobeo_Client_Response)); |
| 233 | 233 |
| 234 p_resp->p_arena = Dowa_Arena_Create(1024 * 1024 * 5); // 5 MB | 234 p_resp->p_arena = Dowa_Arena_Create(1024 * 1024 * 10); // 10 MB |
| 235 if (!p_resp->p_arena) | 235 if (!p_resp->p_arena) |
| 236 { | 236 { |
| 237 free(p_resp); | 237 free(p_resp); |
| 238 return NULL; | 238 return NULL; |
| 239 } | 239 } |
| 389 p_resp->body_length = total_read; | 389 p_resp->body_length = total_read; |
| 390 } | 390 } |
| 391 } | 391 } |
| 392 else | 392 else |
| 393 { | 393 { |
| 394 size_t cap = 1024 * 1024 * 3; | 394 size_t cap = 1024 * 1024 * 5; |
| 395 size_t used = 0; | 395 size_t used = 0; |
| 396 char *body = download_path ? NULL : Dowa_Arena_Allocate(p_resp->p_arena, cap); | 396 char *body = download_path ? NULL : Dowa_Arena_Allocate(p_resp->p_arena, cap); |
| 397 | 397 |
| 398 while (1) | 398 while (1) |
| 399 { | 399 { |
| 412 Seobeo_Log(SEOBEO_WARNING, "Response body too large, truncating...\n"); | 412 Seobeo_Log(SEOBEO_WARNING, "Response body too large, truncating...\n"); |
| 413 break; | 413 break; |
| 414 } | 414 } |
| 415 memcpy(body + used, p_handle->read_buffer, p_handle->read_buffer_len); | 415 memcpy(body + used, p_handle->read_buffer, p_handle->read_buffer_len); |
| 416 used += p_handle->read_buffer_len; | 416 used += p_handle->read_buffer_len; |
| 417 Seobeo_Log(SEOBEO_DEBUG, "Copied %zu bytes, total %zu/%zu\n", used, used + p_handle->read_buffer_len, body_len); | |
| 418 } | 417 } |
| 419 Seobeo_Handle_Consume(p_handle, (uint32)p_handle->read_buffer_len); | 418 Seobeo_Handle_Consume(p_handle, (uint32)p_handle->read_buffer_len); |
| 420 } | 419 } |
| 421 else if (n == -2) | 420 else if (n == -2) |
| 422 break; | 421 break; |