name: Модуль Контекст
sort: 5
Модуль Контекст
Контекст - обертка для работы с http запросами и ответами. Модуль Контекст предоставляет входной объект который является запросом (request) и выходной объект который является ответом (response).
Объект контекст
Ниже функции которые предоставлены для входного и выходного объекта контекста.
- Redirect
- Abort
- WriteString
- GetCookie
- SetCookie
Объект контекста является параметром функции Filter, таким образом вы можете использовать фильтр чтобы управлять процессом или завершить его предварительно.
Входной объект
Входной объект представляет собой обертку для запроса (request). Реализованные методы:
Protocol
Получить протокол запроса. Например:
HTTP/1.0Uri
RequestURI запроса. Например:
/hiUrl
URL запроса. Например:
http://beego.vip/about?username=astaxieSite
Комбинация протокола и домена. Например:
http://beego.vipScheme
Схема. Например:
http,httpsDomain
Домен. Например:
beego.vipHost
Домен запроса. Тоже самое что и Domain.
Method
HTTP метод запроса. Это стандартный HTTP метод. Например:
GET,POST,Is
Проверка HTTP метода. Например:
Is("GET")вернет true или falseIsAjax
Проверка того что является ли запрос AJAX запросом. Вернет true или false.
IsSecure
Проверка на что запрос использует https. Вернет true или false.
IsWebsocket
Проверка того что является ли запрос Websocket запросом. Вернет true или false.
IsUpload
Провека того что файл был загружен в запросе. Вернет true или false.
IP
Вернет IP пользователя из запроса. Если пользователь использует прокси, вы получите реальный IP рекурсивно.
Proxy
Вернет IP всех запросов proxy.
Refer
Вернет Refer из запроса.
SubDomains
Вернет родительский домен из запроса. Например, домен в запросе
blog.beego.vip, тогда функция вернетbeego.vip.Port
Вернет порт из запроса. Например: 8080
UserAgent
Вернет
UserAgentиз запроса. Например:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.57 Safari/537.36Param
Может быть установлен в конфиге router. Используйте что получить эти параметры. Например:
Param(":id")вернут 12Query
Вернет все параметры из GET и POST запросов. Это тоже самое что и
$_REQUESTв PHPHeader
Вернет заголовки запроса. Например:
Header("Accept-Language")вернет значение из запрашиваемоего заголовка, Например:zh-CN,zh;q=0.8,en;q=0.6Cookie
Вернут куки из запроса. Например:
Cookie("username")вернут значение username из кукиSession
Вы можете инициализировать сессию. Это объект Session object из мудуля сессии BeeGo. Вернут связанные данные лежащие на сервере.
Body
Вернут тело запроса. E.g.: В API приложениях запрос отправляет JSON данные и они НЕ могут быть извлечены с Query. Вы должны использовать Body чтобы получить JSON данные.
GetData
Получить значение
DataвInputSetData
Установить значение
DataвInput.GetDataиSetDataиспользуются чтобы передать данные из Filter в Controller.
Выходной объект
Выходной объект представляет собой обертку для ответа (response). Реализованные методы:
Header
Установливает заголовки ответу. Например:
Header("Server","beego")Body
Установливает тело ответа. Например:
Body([]byte("astaxie"))Cookie
Установливает куки ответу. Например:
Cookie("sessionID","beegoSessionID")Json
Распарсит данные в JSON и вызовет метод
Body(описан выше) чтобы вернуть тело.Jsonp
Распарсит данные в JSONP и вызовет метод
Body(описан выше) чтобы вернуть тело.Xml
Распарсит данные в XML и вызовет метод
Body(описан выше) чтобы вернуть его.Download
Пройдет по пути и выдаст содержимое файл.
ContentType
Установит ContentType ответа
SetStatus
Установит статус ответа
Session
Установит значение которое будет сохраненено на сервере. Например:
Session("username","astaxie"). И может быть считано позже.IsCachable
Проверит закешировано ли содержимое.
IsEmpty
Проверит пустой ли вывод.
IsOk
Проверит возвращен ли HTTP статус 200.
IsSuccessful
Проверит успешно ли завершен запрос.
IsRedirect
Проверит перенаправлен ли ответ.
IsForbidden
Проверит статус ответа Forbidden или нет.
IsNotFound
Проверит статус ответа NotFound или нет.
IsClientError
Проверит есть ли ошибка на стороне клиента или нет.
IsServerError
Проверит есть ли ошибка на стороне сервера или нет.
