function mvn_kp_execute_neturl_query, netURL, url_path, query, filename=filename
catch, error_status
if (error_status ne 0) then begin
if n_elements(query) le 0 then query = ''
if n_elements(filename) le 0 then filename = ''
netURL->GetProperty, RESPONSE_CODE=code
case code of
200: printf, -1, "No files returned from server."
204: printf, -2, "WARNING in mvn_kp_execute_neturl_query: No results found."
206: printf, -2, "WARNING in mvn_kp_execute_neturl_query: Only partial results were returned."
404: printf, -2, "ERROR in mvn_kp_execute_neturl_query: Service not found."
401: begin
mvn_kp_logout_connection
printf, -2, "ERROR in mvn_kp_execute_neturl_query: Login failed. Try again."
end
500: printf, -2, "ERROR in mvn_kp_execute_neturl_query: Service failed to handle the query: " + query
23: printf, -2, "ERROR in mvn_kp_execute_neturl_query: Not able to save result to: " + filename
else: begin
printf, -2, "ERROR in mvn_kp_execute_neturl_query: Service request failed with IDL error code: " + strtrim(error_status,2)
help, !error_state
end
endcase
catch, /cancel
return, code
endif
netURL->SetProperty, URL_PATH=url_path
netURL->SetProperty, URL_QUERY=query
if (n_elements(filename) eq 1) then result = netURL->Get(filename=filename) $
else result = netURL->Get(/string_array)
catch, /cancel
return, result
end