name: Модуль Контекст

sort: 5

Модуль Контекст

Контекст - обертка для работы с http запросами и ответами. Модуль Контекст предоставляет входной объект который является запросом (request) и выходной объект который является ответом (response).

Объект контекст

Ниже функции которые предоставлены для входного и выходного объекта контекста.

  • Redirect
  • Abort
  • WriteString
  • GetCookie
  • SetCookie

Объект контекста является параметром функции Filter, таким образом вы можете использовать фильтр чтобы управлять процессом или завершить его предварительно.

Входной объект

Входной объект представляет собой обертку для запроса (request). Реализованные методы:

  • Protocol

    Получить протокол запроса. Например: HTTP/1.0

  • Uri

    RequestURI запроса. Например: /hi

  • Url

    URL запроса. Например: http://beego.vip/about?username=astaxie

  • Site

    Комбинация протокола и домена. Например: http://beego.vip

  • Scheme

    Схема. Например: http, https

  • Domain

    Домен. Например: beego.vip

  • Host

    Домен запроса. Тоже самое что и Domain.

  • Method

    HTTP метод запроса. Это стандартный HTTP метод. Например: GET, POST,

  • Is

    Проверка HTTP метода. Например: Is("GET") вернет true или false

  • IsAjax

    Проверка того что является ли запрос 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.36

  • Param

    Может быть установлен в конфиге router. Используйте что получить эти параметры. Например: Param(":id") вернут 12

  • Query

    Вернет все параметры из GET и POST запросов. Это тоже самое что и $_REQUEST в PHP

  • Header

    Вернет заголовки запроса. Например: Header("Accept-Language") вернет значение из запрашиваемоего заголовка, Например: zh-CN,zh;q=0.8,en;q=0.6

  • Cookie

    Вернут куки из запроса. Например: Cookie("username") вернут значение username из куки

  • Session

    Вы можете инициализировать сессию. Это объект Session object из мудуля сессии BeeGo. Вернут связанные данные лежащие на сервере.

  • Body

    Вернут тело запроса. E.g.: В API приложениях запрос отправляет JSON данные и они НЕ могут быть извлечены с Query. Вы должны использовать Body чтобы получить JSON данные.

  • GetData

    Получить значение Data в Input

  • SetData

    Установить значение 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

    Проверит есть ли ошибка на стороне сервера или нет.