func (ctx *Context) SetCookie(name string, value string, others ...interface{}) {
	cookie := http.Cookie{}
	cookie.Name = name
	cookie.Value = url.QueryEscape(value)

	if len(others) > 0 {
		switch v := others[0].(type) {
		case int:
			cookie.MaxAge = v
		case int64:
			cookie.MaxAge = int(v)
		case int32:
			cookie.MaxAge = int(v)
		}
	}

	cookie.Path = "/"
	if len(others) > 1 {
		if v, ok := others[1].(string); ok && len(v) > 0 {
			cookie.Path = v
		}
	}

	if len(others) > 2 {
		if v, ok := others[2].(string); ok && len(v) > 0 {
			cookie.Domain = v
		}
	}

	if len(others) > 3 {
		switch v := others[3].(type) {
		case bool:
			cookie.Secure = v
		default:
			if others[3] != nil {
				cookie.Secure = true
			}
		}
	}

	if len(others) > 4 {
		if v, ok := others[4].(bool); ok && v {
			cookie.HttpOnly = true
		}
	}

	if len(others) > 5 {
		if v, ok := others[5].(time.Time); ok {
			cookie.Expires = v
			cookie.RawExpires = v.Format(time.UnixDate)
		}
	}

	ctx.Resp.Header().Add("Set-Cookie", cookie.String())
}
func (ctx *Context) SetCookie(name string, value string, others ...interface{}) {
	cookie := http.Cookie{}
	cookie.Name = name
	cookie.Value = url.QueryEscape(value)

	if len(others) > 0 {
		switch v := others[0].(type) {
		case int:
			cookie.MaxAge = v
		case int64:
			cookie.MaxAge = int(v)
		case int32:
			cookie.MaxAge = int(v)
		}
	}

	cookie.Path = "/"
	if len(others) > 1 {
		if v, ok := others[1].(string); ok && len(v) > 0 {
			cookie.Path = v
		}
	}

	if len(others) > 2 {
		if v, ok := others[2].(string); ok && len(v) > 0 {
			cookie.Domain = v
		}
	}

	if len(others) > 3 {
		switch v := others[3].(type) {
		case bool:
			cookie.Secure = v
		default:
			if others[3] != nil {
				cookie.Secure = true
			}
		}
	}

	if len(others) > 4 {
		if v, ok := others[4].(bool); ok && v {
			cookie.HttpOnly = true
		}
	}

	if len(others) > 5 {
		if v, ok := others[5].(time.Time); ok {
			cookie.Expires = v
			cookie.RawExpires = v.Format(time.UnixDate)
		}
	}

	ctx.Resp.Header().Add("Set-Cookie", cookie.String())
}
func ( ctx * Context ) SetCookie ( name string , value string , others ... interface { } ) { cookie := http . Cookie { } cookie . Name = name cookie . Value = url . QueryEscape ( value ) if len ( others ) > 0 { switch v := others [ 0 ] . ( type ) { case int : cookie . MaxAge = v case int64 : cookie . MaxAge = int ( v ) case int32 : cookie . MaxAge = int ( v ) } } cookie . Path = " " if len ( others ) > 1 { if v , ok := others [ 1 ] . ( string ) ; ok && len ( v ) > 0 { cookie . Path = v } } if len ( others ) > 2 { if v , ok := others [ 2 ] . ( string ) ; ok && len ( v ) > 0 { cookie . Domain = v } } if len ( others ) > 3 { switch v := others [ 3 ] . ( type ) { case bool : cookie . Secure = v default : if others [ 3 ] != nil { cookie . Secure = true } } } if len ( others ) > 4 { if v , ok := others [ 4 ] . ( bool ) ; ok && v { cookie . HttpOnly = true } } if len ( others ) > 5 { if v , ok := others [ 5 ] . ( time . Time ) ; ok { cookie . Expires = v cookie . RawExpires = v . Format ( time . UnixDate ) } } ctx . Resp . Header ( ) . Add ( " " , cookie . String ( ) ) }
// SetCookie sets given cookie value to response header.
// FIXME: IE support? http://golanghome.com/post/620#reply2
SetCookie sets given cookie value to response header . FIXME : IE support? http : // golanghome . com / post / 620#reply2