golang beego框架学习(九)

AndyYang| 阅读:1096 发表时间:2017-04-29 21:42:15 golang
摘要:本章节主要讲解go如何实现http中间键。

本章节主要讲解go如何实现http中间键。共有四个demo,附上demo1,更多请移步底部github。

Demo1,源码:
  1. package main
  2.  
  3. import (
  4. "net/http"
  5. )
  6.  
  7. type SingleHost struct {
  8. handler http.Handler
  9. allowedHost string
  10. }
  11.  
  12. /*func NewSingleHost(handler http.Handler, allowedHost string) *SingleHost {
  13. return &SingleHost{handler: handler, allowedHost: allowedHost}
  14. }*/
  15.  
  16. func (s *SingleHost) ServeHTTP(w http.ResponseWriter, r *http.Request) {
  17. host := r.Host
  18. if host == s.allowedHost {
  19. s.handler.ServeHTTP(w, r)
  20. } else {
  21. w.WriteHeader(403)
  22. }
  23. }
  24.  
  25. func myHandler(w http.ResponseWriter, r *http.Request) {
  26. w.Write([]byte("Demo 1 is Success!"))
  27. }
  28.  
  29. func main() {
  30. //single := NewSingleHost(http.HandlerFunc(myHandler), "localhost:8081")
  31.  
  32. single := &SingleHost{
  33. handler: http.HandlerFunc(myHandler),
  34. allowedHost: "webyang.net",
  35. }
  36.  
  37. println("Listening on port 8081")
  38. http.ListenAndServe(":8081", single)
  39. }

github:https://github.com/yangsir/beego_study

本文为AndyYang原创,转载请注明出处!
如果您觉得好,可以打赏作者:
如果您觉得累了,是否想看点美女养养眼:猛戳>>朋友帮
如果您觉得皮了,是否想来点神吐槽:猛戳>>iPhone查询中

已有0条评论

昵称:
邮箱:
iPhone查询中 - bbs.ipcxz.com 朋友帮 - www.pengyb.cn iPhone查询中 - bbs.ipcxz.com
反馈
微信订阅号