Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
G
go-cqhttp
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
go-cqhttp
Commits
86da6577
Commit
86da6577
authored
Sep 09, 2020
by
Mrs4s
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix #251.
parent
eca396af
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
9 additions
and
34 deletions
+9
-34
server/websocket.go
server/websocket.go
+9
-34
No files found.
server/websocket.go
View file @
86da6577
...
...
@@ -222,20 +222,12 @@ func (c *websocketClient) onBotPushEvent(m coolq.MSG) {
func
(
s
*
websocketServer
)
event
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
if
s
.
token
!=
""
{
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
&&
auth
!=
""
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
else
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
==
2
{
if
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
{
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
!=
2
||
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token鉴权失败"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
else
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: 空Token或传入格式错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
c
,
err
:=
upgrader
.
Upgrade
(
w
,
r
,
nil
)
...
...
@@ -261,20 +253,12 @@ func (s *websocketServer) event(w http.ResponseWriter, r *http.Request) {
func
(
s
*
websocketServer
)
api
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
if
s
.
token
!=
""
{
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
&&
auth
!=
""
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
else
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
==
2
{
if
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
{
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
!=
2
||
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token鉴权失败"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
else
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: 空Token或传入格式错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
c
,
err
:=
upgrader
.
Upgrade
(
w
,
r
,
nil
)
...
...
@@ -289,20 +273,12 @@ func (s *websocketServer) api(w http.ResponseWriter, r *http.Request) {
func
(
s
*
websocketServer
)
any
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
if
s
.
token
!=
""
{
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
&&
auth
!=
""
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
else
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
==
2
{
if
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token错误"
,
r
.
RemoteAddr
)
if
auth
:=
r
.
URL
.
Query
()
.
Get
(
"access_token"
);
auth
!=
s
.
token
{
if
auth
:=
strings
.
SplitN
(
r
.
Header
.
Get
(
"Authorization"
),
" "
,
2
);
len
(
auth
)
!=
2
||
auth
[
1
]
!=
s
.
token
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: Token鉴权失败"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
else
{
log
.
Warnf
(
"已拒绝 %v 的 Websocket 请求: 空Token或传入格式错误"
,
r
.
RemoteAddr
)
w
.
WriteHeader
(
401
)
return
}
}
c
,
err
:=
upgrader
.
Upgrade
(
w
,
r
,
nil
)
...
...
@@ -316,7 +292,6 @@ func (s *websocketServer) any(w http.ResponseWriter, r *http.Request) {
c
.
Close
()
return
}
log
.
Infof
(
"接受 Websocket 连接: %v (/)"
,
r
.
RemoteAddr
)
conn
:=
&
websocketConn
{
Conn
:
c
}
s
.
eventConn
=
append
(
s
.
eventConn
,
conn
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment