code: func ServeFile(ctx *RequestCtx, path string) {
  	rootFSOnce.Do(func() {
  		rootFSHandler = rootFS.NewRequestHandler()
  	})
  	if len(path) == 0 || path[0] != '/' {
  		// extend relative path to absolute path
  		var err error
  		if path, err = filepath.Abs(path); err != nil {
  			ctx.Logger().Printf("cannot resolve path %q to absolute file path: %s", path, err)
  			ctx.Error("Internal Server Error", StatusInternalServerError)
  			return
  		}
  	}
  	ctx.Request.SetRequestURI(path)
  	rootFSHandler(ctx)
  }
docs: // ServeFile returns HTTP response containing compressed file contents
  // from the given path.
  //
  // HTTP response may contain uncompressed file contents in the following cases:
  //
  //   * Missing 'Accept-Encoding: gzip' request header.
  //   * No write access to directory containing the file.
  //
  // Directory contents is returned if path points to directory.
  //
  // Use ServeFileUncompressed is you don't need serving compressed file contents.
  //
  // See also RequestCtx.SendFile.