-
- if( psz_proxy_orig ) free( psz_proxy_orig );
-
- p_access_data->socket_desc.psz_server_addr = psz_proxy;
- p_access_data->socket_desc.i_server_port = i_proxy_port;
- p_access_data->socket_desc.i_type = NETWORK_TCP;
-
- snprintf( p_access_data->psz_buffer, MAX_QUERY_SIZE,
- "GET http://%s:%d/%s\r\n HTTP/1.0\r\n",
- psz_server_addr, i_server_port, psz_path );
- }
- else
- {
- /* No proxy, direct connection. */
- p_access_data->socket_desc.i_type = NETWORK_TCP;
- p_access_data->socket_desc.psz_server_addr = psz_server_addr;
- p_access_data->socket_desc.i_server_port = i_server_port;
-
- snprintf( p_access_data->psz_buffer, MAX_QUERY_SIZE,
- "GET /%s HTTP/1.1\r\nHost: %s\r\n",
- psz_path, psz_server_addr );
- }
- p_access_data->psz_buffer[MAX_QUERY_SIZE - 1] = '\0';
-
- msg_Dbg( p_input, "opening server=%s port=%d path=%s",
- psz_server_addr, i_server_port, psz_path );
-
- p_input->pf_read = Read;
- p_input->pf_set_program = SetProgram;
- p_input->pf_set_area = NULL;
- p_input->pf_seek = Seek;
-
- vlc_mutex_lock( &p_input->stream.stream_lock );
- p_input->stream.b_pace_control = VLC_TRUE;
- p_input->stream.b_seekable = VLC_TRUE;
- p_input->stream.p_selected_area->i_tell = 0;
- p_input->stream.p_selected_area->i_size = 0;
- p_input->stream.i_method = INPUT_METHOD_NETWORK;
- vlc_mutex_unlock( &p_input->stream.stream_lock );
- p_input->i_mtu = 0;
-
- if( HTTPConnect( p_input, 0 ) )
- {
- /* Request failed, try again with HTTP/1.0 */
- char * psz_pos = strstr( p_access_data->psz_buffer, "HTTP/1.1" );
-
- if( !psz_pos )