1*1c60b9acSAndroid Build Coastguard Worker# lws minimal http client custom headers 2*1c60b9acSAndroid Build Coastguard Worker 3*1c60b9acSAndroid Build Coastguard WorkerThis http client application shows how to send and receive custom headers. 4*1c60b9acSAndroid Build Coastguard Worker 5*1c60b9acSAndroid Build Coastguard WorkerThis currently only works on http 1, so the app forces that even if h2 enables. 6*1c60b9acSAndroid Build Coastguard Worker 7*1c60b9acSAndroid Build Coastguard Worker## build 8*1c60b9acSAndroid Build Coastguard Worker 9*1c60b9acSAndroid Build Coastguard Worker``` 10*1c60b9acSAndroid Build Coastguard Worker $ cmake . && make 11*1c60b9acSAndroid Build Coastguard Worker``` 12*1c60b9acSAndroid Build Coastguard Worker 13*1c60b9acSAndroid Build Coastguard Worker## usage 14*1c60b9acSAndroid Build Coastguard Worker 15*1c60b9acSAndroid Build Coastguard WorkerCommandline option|Meaning 16*1c60b9acSAndroid Build Coastguard Worker---|--- 17*1c60b9acSAndroid Build Coastguard Worker-d <loglevel>|Debug verbosity in decimal, eg, -d15 18*1c60b9acSAndroid Build Coastguard Worker-l| Connect to https://localhost:7681 and accept selfsigned cert 19*1c60b9acSAndroid Build Coastguard Worker-n|no TLS 20*1c60b9acSAndroid Build Coastguard Worker 21*1c60b9acSAndroid Build Coastguard WorkerThe app looks for a custom header "test-custom-header" sent by warmcat.com. 22*1c60b9acSAndroid Build Coastguard Worker 23*1c60b9acSAndroid Build Coastguard Worker``` 24*1c60b9acSAndroid Build Coastguard Worker $ ./lws-minimal-http-client-custom-headers 25*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:46:45:7582] USER: LWS minimal http client Custom Headers [-d<verbosity>] [-l] [--h1] 26*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:46:45:7671] NOTICE: created client ssl context for default 27*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:46:46:7812] USER: Connected with server response: 200 28*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:46:46:7812] NOTICE: callback_http: custom header: 'hello' 29*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:46:46:7814] USER: RECEIVE_CLIENT_HTTP_READ: read 1024 30*1c60b9acSAndroid Build Coastguard Worker... 31*1c60b9acSAndroid Build Coastguard Worker``` 32*1c60b9acSAndroid Build Coastguard WorkerYou can use the -n and -l to make this test app connect to localhost:7681 over http, 33*1c60b9acSAndroid Build Coastguard Workerand confirm the "dnt:1" header was sent either by tcpdump or by running the test 34*1c60b9acSAndroid Build Coastguard Workerserver on :7681 with -d1151 35*1c60b9acSAndroid Build Coastguard Worker 36*1c60b9acSAndroid Build Coastguard Worker``` 37*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6806] PARSER: WSI_TOKEN_NAME_PART 'd' 0x64 (role=0x20000000) wsi->lextable_pos=0 38*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6807] PARSER: WSI_TOKEN_NAME_PART 'n' 0x6E (role=0x20000000) wsi->lextable_pos=567 39*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6807] PARSER: WSI_TOKEN_NAME_PART 't' 0x74 (role=0x20000000) wsi->lextable_pos=-1 40*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6807] PARSER: WSI_TOKEN_NAME_PART ' ' 0x20 (role=0x20000000) wsi->lextable_pos=-1 41*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6807] PARSER: WSI_TOKEN_NAME_PART '1' 0x31 (role=0x20000000) wsi->lextable_pos=-1 42*1c60b9acSAndroid Build Coastguard Worker' 0x0D (role=0x20000000) wsi->lextable_pos=-1NAME_PART ' 43*1c60b9acSAndroid Build Coastguard Worker[2019/03/11 05:48:53:6807] PARSER: WSI_TOKEN_NAME_PART ' 44*1c60b9acSAndroid Build Coastguard Worker``` 45*1c60b9acSAndroid Build Coastguard Worker 46