Swift — Vapor с использованием HTML

Недавно я переключился с Perfect на Vapor. В Perfect вы можете сделать что-то подобное, не используя HTML-файл.

routes.add(method: .get, uri: "/", handler: {
    request, response in
    response.setHeader(.contentType, value: "text/html")
    response.appendBody(string: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
    response.completed()
   }
)

В Vapor единственный способ вернуть html, который я нашел, - это сделать это. Как я могу вернуть html-код, не используя html-файл в паре?

 drop.get("/") { request in
    return try drop.view.make("somehtmlfile.html")
} 

person James Ikeler    schedule 06.11.2016    source источник
comment
У вас тоже есть вопрос о чем-то? Пожалуйста, отредактируйте свой пост и включите четкий вопрос.   -  person Sami Kuhmonen    schedule 06.11.2016


Ответы (1)


Вы можете создать свой собственный Response, полностью избегая просмотров.

drop.get { req in
  return Response(status: .ok, headers: ["Content-Type": "text/html"], body: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
}

or

drop.get { req in
  let response = Response(status: .ok, body: "<html><img src=http://www.w3schools.com/html/pic_mountain.jpg></html>")
  response.headers["Content-Type"] = "text/html"
  return response
}
person tobygriffin    schedule 06.11.2016
comment
Спасибо, я не искал всю документацию полностью. - person James Ikeler; 06.11.2016