Merge pull request #110 from tabone/close-frame-response

Close Frame Response
This commit is contained in:
Gary Burd 2016-02-16 13:07:31 -08:00
commit e85d897656
1 changed files with 3 additions and 1 deletions

View File

@ -726,13 +726,15 @@ func (c *Conn) advanceFrame() (int, error) {
return noFrame, err return noFrame, err
} }
case CloseMessage: case CloseMessage:
c.WriteControl(CloseMessage, []byte{}, time.Now().Add(writeWait)) echoMessage := []byte{}
closeCode := CloseNoStatusReceived closeCode := CloseNoStatusReceived
closeText := "" closeText := ""
if len(payload) >= 2 { if len(payload) >= 2 {
echoMessage = payload[:2]
closeCode = int(binary.BigEndian.Uint16(payload)) closeCode = int(binary.BigEndian.Uint16(payload))
closeText = string(payload[2:]) closeText = string(payload[2:])
} }
c.WriteControl(CloseMessage, echoMessage, time.Now().Add(writeWait))
return noFrame, &CloseError{Code: closeCode, Text: closeText} return noFrame, &CloseError{Code: closeCode, Text: closeText}
} }