@@ -2,20 +2,22 @@ program response_header
22 ! This program demonstrates sending user-provided headers in a GET request
33 ! and iterating over the headers of the response sent back by the server.
44 use stdlib_string_type, only: string_type, write (formatted)
5- use http, only: response_type, request, header_type
5+ use http, only: response_type, request, pair_type
66
77 implicit none
88 type (response_type) :: response
9- type (header_type ), allocatable :: header(:), req_header(:)
9+ type (pair_type ), allocatable :: header(:), req_header(:)
1010 character (:), allocatable :: val
1111 integer :: i = 0
1212
13+ ! Storing request header in array of pair_type object, where each pair_type
14+ ! object represents a single header. (in header-name,header-value format)
1315 req_header = [ &
14- header_type (' Another-One' , ' Hello' ), &
15- header_type (' Set-Cookie' , ' Theme-Light' ), &
16- header_type (' Set-Cookie' , ' Auth-Token: 12345' ), &
17- header_type (' User-Agent' , ' my user agent' ) &
18- ]
16+ pair_type (' Another-One' , ' Hello' ), &
17+ pair_type (' Set-Cookie' , ' Theme-Light' ), &
18+ pair_type (' Set-Cookie' , ' Auth-Token: 12345' ), &
19+ pair_type (' User-Agent' , ' my user agent' ) &
20+ ]
1921
2022 response = request(url= ' https://httpbin.org/get' , header= req_header)
2123
@@ -28,7 +30,7 @@ program response_header
2830 header = response% header
2931 ! Iterate over response headers.
3032 do i = 1 , size (header)
31- print * , header(i)% key , ' : ' , header(i)% value
33+ print * , header(i)% name , ' : ' , header(i)% value
3234 end do
3335
3436 ! getting header value by header name
0 commit comments