| 110 | } |
| 111 | |
| 112 | func NewServerHandler(opt ServerOption) (http.Handler, error) { |
| 113 | xPaddingBytes, err := opt.Config.GetNormalizedXPaddingBytes() |
| 114 | if err != nil { |
| 115 | return nil, err |
| 116 | } |
| 117 | scMaxEachPostBytes, err := opt.Config.GetNormalizedScMaxEachPostBytes() |
| 118 | if err != nil { |
| 119 | return nil, err |
| 120 | } |
| 121 | scStreamUpServerSecs, err := opt.Config.GetNormalizedScStreamUpServerSecs() |
| 122 | if err != nil { |
| 123 | return nil, err |
| 124 | } |
| 125 | scMaxBufferedPosts, err := opt.Config.GetNormalizedScMaxBufferedPosts() |
| 126 | if err != nil { |
| 127 | return nil, err |
| 128 | } |
| 129 | return &requestHandler{ |
| 130 | config: opt.Config, |
| 131 | connHandler: opt.ConnHandler, |
| 132 | httpHandler: opt.HttpHandler, |
| 133 | xPaddingBytes: xPaddingBytes, |
| 134 | scMaxEachPostBytes: scMaxEachPostBytes, |
| 135 | scStreamUpServerSecs: scStreamUpServerSecs, |
| 136 | scMaxBufferedPosts: scMaxBufferedPosts, |
| 137 | sessions: map[string]*httpSession{}, |
| 138 | }, nil |
| 139 | } |
| 140 | |
| 141 | func (h *requestHandler) upsertSession(sessionID string) *httpSession { |
| 142 | h.mu.Lock() |