func (t *Test) executeFile() error {
	t.infof("%s %q", t.Request.Request.Method, t.Request.Request.URL.String())
	start := time.Now()
	defer func() {
		t.Response.Duration = time.Since(start)
	}()
	u := t.Request.Request.URL
	if u.Host != "" {
		if u.Host != "localhost" && u.Host != "127.0.0.1" {  
			return fmt.Errorf("file:// on remote host not implemented")
		}
	}
	t.Response.Response = &http.Response{
		Status:     "200 OK",
		StatusCode: 200,
		Proto:      "HTTP/1.1",
		ProtoMajor: 1,
		ProtoMinor: 1,
		Header:     make(http.Header),
		Body:       nil,  
		Trailer:    make(http.Header),
		Request:    t.Request.Request,
	}
	switch t.Request.Method {
	case http.MethodGet:
		t.executeFileGET(u)
	case "PUT":
		t.executeFilePUT(u)
	case "DELETE":
		t.executeFileDELETE(u)
	default:
		return fmt.Errorf("method %s not supported on file:// URL", t.Request.Method)
	}
	return nil
}
----------------------------------------------------------------------------
file:// pseudo-request
execute a file:// pseudorequest. This method returns a non-nil error if
the Request.Method is non of GET, PUT or DELETE. The file operations
themself do not return an error but a status codes 404 or 403.
This behaviour is in the line of how a HTTP request works and allows e.g.
to check that a lock file is _not_ present.

Once remote file operations via ssh are implemented a failer to connect
to the remote host can be returned as an error. Again in accorancde
package ht
import (
	"bytes"
	"context"
	"database/sql"
	"encoding/csv"
	"encoding/json"
	"fmt"
	"io/ioutil"
	"mime"
	"net/http"
	"net/url"
	"os"
	"os/exec"
	"runtime"
	"strings"
	"time"
)