func (c *Action) Scheme() string {
	if c.Request.URL.Scheme != "" {
		return c.Request.URL.Scheme
	} else if c.Request.TLS == nil {
		return "http"
	} else {
		return "https"
	}
}
Scheme returns request scheme as "http" or "https".
package xweb
import (
	"bytes"
	"compress/flate"
	"compress/gzip"
	"crypto/hmac"
	"crypto/md5"
	"crypto/sha1"
	"encoding/base64"
	"encoding/hex"
	"encoding/json"
	"encoding/xml"
	"errors"
	"fmt"
	"html/template"
	"io"
	"io/ioutil"
	"mime"
	"mime/multipart"
	"net/http"
	"net/url"
	"os"
	"path"
	"reflect"
	"strconv"
	"strings"
	"time"
	"github.com/go-xweb/httpsession"
	"github.com/go-xweb/log"
	"github.com/go-xweb/uuid"
)
type ActionOption struct {
	AutoMapForm bool
	CheckXsrf   bool
}
type Action struct {
	Request *http.Request
	App     *App
	Option  *ActionOption
	http.ResponseWriter
	C            reflect.Value
	session      *httpsession.Session
	T            T
	f            T
	RootTemplate *template.Template
	RequestBody  []byte
	StatusCode   int
}
type Mapper struct {
}
type T map[string]interface{}
func XsrfName() string {
	return XSRF_TAG
}
func (c *Action) Protocol() string {
	return c.Request.Proto
}
func (c *Action) Uri() string {
	return c.Request.RequestURI
}
func (c *Action) Url() string {
	return c.Request.URL.String()
}
func (c *Action) Site() string {
	return c.Scheme() + "://" + c.Domain()
}