Lines 609-615
Link Here
|
609 |
|
609 |
|
610 |
/* ANALYZE_HTTP ("==> +get_header read"); */ |
610 |
/* ANALYZE_HTTP ("==> +get_header read"); */ |
611 |
result = gnome_vfs_socket_buffer_read (socket_buffer, &c, 1, |
611 |
result = gnome_vfs_socket_buffer_read (socket_buffer, &c, 1, |
612 |
&bytes_read); |
612 |
&bytes_read, NULL); |
613 |
/* ANALYZE_HTTP ("==> -get_header read"); */ |
613 |
/* ANALYZE_HTTP ("==> -get_header read"); */ |
614 |
|
614 |
|
615 |
if (result != GNOME_VFS_OK) { |
615 |
if (result != GNOME_VFS_OK) { |
Lines 625-631
Link Here
|
625 |
char next; |
625 |
char next; |
626 |
|
626 |
|
627 |
result = gnome_vfs_socket_buffer_peekc ( |
627 |
result = gnome_vfs_socket_buffer_peekc ( |
628 |
socket_buffer, &next); |
628 |
socket_buffer, &next, NULL); |
629 |
if (result != GNOME_VFS_OK) { |
629 |
if (result != GNOME_VFS_OK) { |
630 |
return result; |
630 |
return result; |
631 |
} |
631 |
} |
Lines 1229-1267
Link Here
|
1229 |
buffer = g_strdup_printf ("CONNECT %s:%d HTTP/1.0\r\n\r\n", |
1229 |
buffer = g_strdup_printf ("CONNECT %s:%d HTTP/1.0\r\n\r\n", |
1230 |
server_host, server_port); |
1230 |
server_host, server_port); |
1231 |
result = gnome_vfs_socket_write (http_socket, buffer, strlen(buffer), |
1231 |
result = gnome_vfs_socket_write (http_socket, buffer, strlen(buffer), |
1232 |
&bytes); |
1232 |
&bytes, NULL); |
1233 |
g_free (buffer); |
1233 |
g_free (buffer); |
1234 |
|
1234 |
|
1235 |
if (result != GNOME_VFS_OK) { |
1235 |
if (result != GNOME_VFS_OK) { |
1236 |
gnome_vfs_socket_close (http_socket); |
1236 |
gnome_vfs_socket_close (http_socket, NULL); |
1237 |
return result; |
1237 |
return result; |
1238 |
} |
1238 |
} |
1239 |
|
1239 |
|
1240 |
buffer = proxy_get_authn_header_for_uri (NULL); /* FIXME need uri */ |
1240 |
buffer = proxy_get_authn_header_for_uri (NULL); /* FIXME need uri */ |
1241 |
if (buffer != NULL) { |
1241 |
if (buffer != NULL) { |
1242 |
result = gnome_vfs_socket_write (http_socket, buffer, |
1242 |
result = gnome_vfs_socket_write (http_socket, buffer, |
1243 |
strlen(buffer), &bytes); |
1243 |
strlen(buffer), &bytes, NULL); |
1244 |
g_free (buffer); |
1244 |
g_free (buffer); |
1245 |
} |
1245 |
} |
1246 |
|
1246 |
|
1247 |
if (result != GNOME_VFS_OK) { |
1247 |
if (result != GNOME_VFS_OK) { |
1248 |
gnome_vfs_socket_close (http_socket); |
1248 |
gnome_vfs_socket_close (http_socket, NULL); |
1249 |
return result; |
1249 |
return result; |
1250 |
} |
1250 |
} |
1251 |
|
1251 |
|
1252 |
bytes = 8192; |
1252 |
bytes = 8192; |
1253 |
buffer = g_malloc0 (bytes); |
1253 |
buffer = g_malloc0 (bytes); |
1254 |
|
1254 |
|
1255 |
result = gnome_vfs_socket_read (http_socket, buffer, bytes-1, &bytes); |
1255 |
result = gnome_vfs_socket_read (http_socket, buffer, bytes-1, &bytes, |
|
|
1256 |
NULL); |
1256 |
|
1257 |
|
1257 |
if (result != GNOME_VFS_OK) { |
1258 |
if (result != GNOME_VFS_OK) { |
1258 |
gnome_vfs_socket_close (http_socket); |
1259 |
gnome_vfs_socket_close (http_socket, NULL); |
1259 |
g_free (buffer); |
1260 |
g_free (buffer); |
1260 |
return result; |
1261 |
return result; |
1261 |
} |
1262 |
} |
1262 |
|
1263 |
|
1263 |
if (!parse_status (buffer, &status_code)) { |
1264 |
if (!parse_status (buffer, &status_code)) { |
1264 |
gnome_vfs_socket_close (http_socket); |
1265 |
gnome_vfs_socket_close (http_socket, NULL); |
1265 |
g_free (buffer); |
1266 |
g_free (buffer); |
1266 |
return GNOME_VFS_ERROR_PROTOCOL_ERROR; |
1267 |
return GNOME_VFS_ERROR_PROTOCOL_ERROR; |
1267 |
} |
1268 |
} |
Lines 1269-1275
Link Here
|
1269 |
result = http_status_to_vfs_result (status_code); |
1270 |
result = http_status_to_vfs_result (status_code); |
1270 |
|
1271 |
|
1271 |
if (result != GNOME_VFS_OK) { |
1272 |
if (result != GNOME_VFS_OK) { |
1272 |
gnome_vfs_socket_close (http_socket); |
1273 |
gnome_vfs_socket_close (http_socket, NULL); |
1273 |
g_free (buffer); |
1274 |
g_free (buffer); |
1274 |
return result; |
1275 |
return result; |
1275 |
} |
1276 |
} |
Lines 1279-1288
Link Here
|
1279 |
|
1280 |
|
1280 |
g_free (buffer); |
1281 |
g_free (buffer); |
1281 |
|
1282 |
|
1282 |
result = gnome_vfs_ssl_create_from_fd (&ssl, fd); |
1283 |
result = gnome_vfs_ssl_create_from_fd (&ssl, fd, NULL); |
1283 |
|
1284 |
|
1284 |
if (result != GNOME_VFS_OK) { |
1285 |
if (result != GNOME_VFS_OK) { |
1285 |
gnome_vfs_socket_close (http_socket); |
1286 |
gnome_vfs_socket_close (http_socket, NULL); |
1286 |
return result; |
1287 |
return result; |
1287 |
} |
1288 |
} |
1288 |
|
1289 |
|
Lines 1378-1384
Link Here
|
1378 |
|
1379 |
|
1379 |
if (https) { |
1380 |
if (https) { |
1380 |
result = gnome_vfs_ssl_create (&ssl, |
1381 |
result = gnome_vfs_ssl_create (&ssl, |
1381 |
toplevel_uri->host_name, host_port); |
1382 |
toplevel_uri->host_name, host_port, |
|
|
1383 |
NULL); |
1382 |
|
1384 |
|
1383 |
if (result != GNOME_VFS_OK) { |
1385 |
if (result != GNOME_VFS_OK) { |
1384 |
return result; |
1386 |
return result; |
Lines 1400-1406
Link Here
|
1400 |
*p_socket_buffer = gnome_vfs_socket_buffer_new (socket); |
1402 |
*p_socket_buffer = gnome_vfs_socket_buffer_new (socket); |
1401 |
|
1403 |
|
1402 |
if (*p_socket_buffer == NULL) { |
1404 |
if (*p_socket_buffer == NULL) { |
1403 |
gnome_vfs_socket_close (socket); |
1405 |
gnome_vfs_socket_close (socket, NULL); |
1404 |
return GNOME_VFS_ERROR_INTERNAL; |
1406 |
return GNOME_VFS_ERROR_INTERNAL; |
1405 |
} |
1407 |
} |
1406 |
|
1408 |
|
Lines 1481-1487
Link Here
|
1481 |
|
1483 |
|
1482 |
/* Transmit the request headers. */ |
1484 |
/* Transmit the request headers. */ |
1483 |
result = gnome_vfs_socket_buffer_write (socket_buffer, request->str, |
1485 |
result = gnome_vfs_socket_buffer_write (socket_buffer, request->str, |
1484 |
request->len, &bytes_written); |
1486 |
request->len, &bytes_written, NULL); |
1485 |
|
1487 |
|
1486 |
if (result != GNOME_VFS_OK) { |
1488 |
if (result != GNOME_VFS_OK) { |
1487 |
goto error; |
1489 |
goto error; |
Lines 1492-1505
Link Here
|
1492 |
ANALYZE_HTTP ("==> Writing data"); |
1494 |
ANALYZE_HTTP ("==> Writing data"); |
1493 |
|
1495 |
|
1494 |
result = gnome_vfs_socket_buffer_write (socket_buffer, |
1496 |
result = gnome_vfs_socket_buffer_write (socket_buffer, |
1495 |
data->data, data->len, &bytes_written); |
1497 |
data->data, data->len, &bytes_written, |
|
|
1498 |
NULL); |
1496 |
} |
1499 |
} |
1497 |
|
1500 |
|
1498 |
if (result != GNOME_VFS_OK) { |
1501 |
if (result != GNOME_VFS_OK) { |
1499 |
goto error; |
1502 |
goto error; |
1500 |
} |
1503 |
} |
1501 |
|
1504 |
|
1502 |
result = gnome_vfs_socket_buffer_flush (socket_buffer); |
1505 |
result = gnome_vfs_socket_buffer_flush (socket_buffer, NULL); |
1503 |
|
1506 |
|
1504 |
error: |
1507 |
error: |
1505 |
return result; |
1508 |
return result; |
Lines 1635-1641
Link Here
|
1635 |
} |
1638 |
} |
1636 |
|
1639 |
|
1637 |
if (socket_buffer != NULL) { |
1640 |
if (socket_buffer != NULL) { |
1638 |
gnome_vfs_socket_buffer_destroy (socket_buffer, TRUE); |
1641 |
gnome_vfs_socket_buffer_destroy (socket_buffer, TRUE, NULL); |
1639 |
} |
1642 |
} |
1640 |
|
1643 |
|
1641 |
ANALYZE_HTTP ("==> -make_request"); |
1644 |
ANALYZE_HTTP ("==> -make_request"); |
Lines 1650-1658
Link Here
|
1650 |
|
1653 |
|
1651 |
if (handle != NULL) { |
1654 |
if (handle != NULL) { |
1652 |
if (handle->socket_buffer) { |
1655 |
if (handle->socket_buffer) { |
1653 |
gnome_vfs_socket_buffer_flush (handle->socket_buffer); |
1656 |
gnome_vfs_socket_buffer_flush (handle->socket_buffer, |
|
|
1657 |
NULL); |
1654 |
gnome_vfs_socket_buffer_destroy (handle->socket_buffer, |
1658 |
gnome_vfs_socket_buffer_destroy (handle->socket_buffer, |
1655 |
TRUE); |
1659 |
TRUE, NULL); |
1656 |
handle->socket_buffer = NULL; |
1660 |
handle->socket_buffer = NULL; |
1657 |
} |
1661 |
} |
1658 |
|
1662 |
|
Lines 1913-1919
Link Here
|
1913 |
|
1917 |
|
1914 |
while ((bytes=MIN(sizeof(drop_buffer), handle->offset - handle->socket_buffer_offset))) { |
1918 |
while ((bytes=MIN(sizeof(drop_buffer), handle->offset - handle->socket_buffer_offset))) { |
1915 |
result = gnome_vfs_socket_buffer_read (handle->socket_buffer, drop_buffer, |
1919 |
result = gnome_vfs_socket_buffer_read (handle->socket_buffer, drop_buffer, |
1916 |
bytes, &bytes_read); |
1920 |
bytes, &bytes_read, NULL); |
1917 |
if (result != GNOME_VFS_OK) |
1921 |
if (result != GNOME_VFS_OK) |
1918 |
return result; |
1922 |
return result; |
1919 |
handle->socket_buffer_offset += bytes_read; |
1923 |
handle->socket_buffer_offset += bytes_read; |
Lines 1942-1949
Link Here
|
1942 |
handle->socket_buffer_offset = handle->offset; |
1946 |
handle->socket_buffer_offset = handle->offset; |
1943 |
} |
1947 |
} |
1944 |
|
1948 |
|
1945 |
result = gnome_vfs_socket_buffer_read (handle->socket_buffer, buffer, |
1949 |
result = |
1946 |
num_bytes, bytes_read); |
1950 |
gnome_vfs_socket_buffer_read (handle->socket_buffer, buffer, |
|
|
1951 |
num_bytes, bytes_read, NULL); |
1947 |
|
1952 |
|
1948 |
if (*bytes_read == 0) { |
1953 |
if (*bytes_read == 0) { |
1949 |
return GNOME_VFS_ERROR_EOF; |
1954 |
return GNOME_VFS_ERROR_EOF; |