package localsearch;

import java.io.InputStream;
import java.lang.Exception;
import javafx.io.http.HttpRequest;

// REST data request handler
public class RequestHandler extends HttpRequest {
    
    public var processResults: function(is: InputStream);
    
    public override var onException = function(exception: Exception) {
        exception.printStackTrace();
        Main.resetRestaurantDetails();
        var message = exception.getMessage();
        if(message == null) { message = exception.toString(); }
        Main.alert("Error:", message.trim());
    }
    
    public override var onResponseCode = function(responseCode:Integer) {
        if (responseCode != 200) {
            Main.alert("Error:", "Error fetching results: {responseCode} {responseMessage}");
        }
    }
    
    public override var onInput = function(input: java.io.InputStream) {
        try {
            if (processResults != null) {
                processResults(input);
            }
        } finally {
            input.close();
        }
    }
}