Browse Source

Derive chat display-name from upstream HTTP user header (#1633)

pull/1634/head
Fabio Huser 4 years ago committed by GitHub
parent
commit
3963777660
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      controllers/chat.go
  2. 21
      test/automated/api/chat.test.js

4
controllers/chat.go

@ -58,6 +58,10 @@ func RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request) { @@ -58,6 +58,10 @@ func RegisterAnonymousChatUser(w http.ResponseWriter, r *http.Request) {
// this is fine. register a new user anyway.
}
if request.DisplayName == "" {
request.DisplayName = r.Header.Get("X-Forwarded-User")
}
newUser, err := user.CreateAnonymousUser(request.DisplayName)
if err != nil {
WriteSimpleResponse(w, false, err.Error())

21
test/automated/api/chat.test.js

@ -38,3 +38,24 @@ test('can fetch chat messages', async (done) => { @@ -38,3 +38,24 @@ test('can fetch chat messages', async (done) => {
done();
});
test('can derive display name from user header', async (done) => {
const res = await request
.post('/api/chat/register')
.set('X-Forwarded-User', 'test-user')
.expect(200);
expect(res.body.displayName).toBe('test-user');
done();
});
test('can overwrite user header derived display name with body', async (done) => {
const res = await request
.post('/api/chat/register')
.send({displayName: 'TestUserChat'})
.set('X-Forwarded-User', 'test-user')
.expect(200);
expect(res.body.displayName).toBe('TestUserChat');
done();
});

Loading…
Cancel
Save