|  | @@ -3,6 +3,7 @@ package main
 | 
	
		
			
				|  |  |  import (
 | 
	
		
			
				|  |  |  	"bytes"
 | 
	
		
			
				|  |  |  	"encoding/json"
 | 
	
		
			
				|  |  | +	"fmt"
 | 
	
		
			
				|  |  |  	"log"
 | 
	
		
			
				|  |  |  	"net/http"
 | 
	
		
			
				|  |  |  	"regexp"
 | 
	
	
		
			
				|  | @@ -50,18 +51,21 @@ type ResultsFromServer struct {
 | 
	
		
			
				|  |  |  	TotalConcResult         int
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -// PostQuery sends POST query to server and returns response.
 | 
	
		
			
				|  |  | -func PostQuery(requestURL string, searchJSON []byte) *http.Response {
 | 
	
		
			
				|  |  | +func postQuery(requestURL string, searchJSON []byte) (*http.Response, error) {
 | 
	
		
			
				|  |  |  	req, err := http.NewRequest("POST", requestURL, bytes.NewBuffer(searchJSON))
 | 
	
		
			
				|  |  | +	if err != nil {
 | 
	
		
			
				|  |  | +		return nil, fmt.Errorf("Error creating post request: %s", err)
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  	req.Header.Set("Content-Type", "application/json")
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	client := &http.Client{}
 | 
	
		
			
				|  |  |  	resp, err := client.Do(req)
 | 
	
		
			
				|  |  |  	if err != nil {
 | 
	
		
			
				|  |  | -		log.Printf("Error posting query: %v", err)
 | 
	
		
			
				|  |  | +		return nil, fmt.Errorf("Error posting query: %v", err)
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	return resp
 | 
	
		
			
				|  |  | +	return resp, nil
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  func getCleanedResults(tempResults ResultsFromServer, TMFriendlyName string) CleanedResults {
 | 
	
	
		
			
				|  | @@ -116,8 +120,13 @@ func (app *Application) Search(TMs []TM, text string) SearchResults {
 | 
	
		
			
				|  |  |  		concordanceURL := getTM + "/concordance"
 | 
	
		
			
				|  |  |  		requestURL := concordanceURL + app.AuthString
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -		resp := PostQuery(requestURL, searchJSON)
 | 
	
		
			
				|  |  | +		resp, err := postQuery(requestURL, searchJSON)
 | 
	
		
			
				|  |  | +		if err != nil {
 | 
	
		
			
				|  |  | +			log.Println(err)
 | 
	
		
			
				|  |  | +			return finalResults
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  |  		defer resp.Body.Close()
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  		if resp.StatusCode == 401 {
 | 
	
		
			
				|  |  |  			time.Sleep(app.Delay)
 | 
	
		
			
				|  |  |  			app.Login()
 |