github.com/blend/go-sdk@v1.20220411.3/webutil/get_proto_test.go (about) 1 /* 2 3 Copyright (c) 2022 - Present. Blend Labs, Inc. All rights reserved 4 Use of this source code is governed by a MIT license that can be found in the LICENSE file. 5 6 */ 7 8 package webutil 9 10 import ( 11 "net/http" 12 "testing" 13 14 "github.com/blend/go-sdk/assert" 15 ) 16 17 func TestGetProto(t *testing.T) { 18 assert := assert.New(t) 19 20 headers := http.Header{} 21 headers.Set(HeaderXForwardedProto, SchemeHTTPS) 22 r := http.Request{ 23 Proto: SchemeHTTP + "/1.0", 24 Header: headers, 25 } 26 assert.Equal(SchemeHTTPS, GetProto(&r)) 27 28 headers = http.Header{} 29 headers.Set(HeaderXForwardedProto, SchemeSPDY+","+SchemeHTTPS) 30 r = http.Request{ 31 Proto: SchemeHTTP + "/1.0", 32 Header: headers, 33 } 34 assert.Equal(SchemeHTTPS, GetProto(&r)) 35 36 headers = http.Header{} 37 r = http.Request{ 38 Header: headers, 39 } 40 assert.Empty(GetProto(&r)) 41 }