go test -run Test_Bind_Cookie -v
(t *testing.T)
| 1891 | |
| 1892 | // go test -run Test_Bind_Cookie -v |
| 1893 | func Test_Bind_Cookie(t *testing.T) { |
| 1894 | t.Parallel() |
| 1895 | |
| 1896 | app := New(Config{ |
| 1897 | EnableSplittingOnParsers: true, |
| 1898 | }) |
| 1899 | c := app.AcquireCtx(&fasthttp.RequestCtx{}) |
| 1900 | |
| 1901 | type Cookie struct { |
| 1902 | Name string |
| 1903 | Hobby []string |
| 1904 | ID int |
| 1905 | } |
| 1906 | c.Request().SetBody([]byte(``)) |
| 1907 | c.Request().Header.SetContentType("") |
| 1908 | |
| 1909 | c.Request().Header.SetCookie("id", "1") |
| 1910 | c.Request().Header.SetCookie("Name", "John Doe") |
| 1911 | c.Request().Header.SetCookie("Hobby", "golang,fiber") |
| 1912 | q := new(Cookie) |
| 1913 | require.NoError(t, c.Bind().Cookie(q)) |
| 1914 | require.Len(t, q.Hobby, 2) |
| 1915 | |
| 1916 | c.Request().Header.DelCookie("hobby") |
| 1917 | c.Request().Header.SetCookie("Hobby", "golang,fiber,go") |
| 1918 | q = new(Cookie) |
| 1919 | require.NoError(t, c.Bind().Cookie(q)) |
| 1920 | require.Len(t, q.Hobby, 3) |
| 1921 | |
| 1922 | empty := new(Cookie) |
| 1923 | c.Request().Header.DelCookie("hobby") |
| 1924 | require.NoError(t, c.Bind().Query(empty)) |
| 1925 | require.Empty(t, empty.Hobby) |
| 1926 | |
| 1927 | type Cookie2 struct { |
| 1928 | Name string |
| 1929 | Hobby string |
| 1930 | FavouriteDrinks []string |
| 1931 | Empty []string |
| 1932 | Alloc []string |
| 1933 | No []int64 |
| 1934 | ID int |
| 1935 | Bool bool |
| 1936 | } |
| 1937 | |
| 1938 | c.Request().Header.SetCookie("id", "2") |
| 1939 | c.Request().Header.SetCookie("Name", "Jane Doe") |
| 1940 | c.Request().Header.DelCookie("hobby") |
| 1941 | c.Request().Header.SetCookie("Hobby", "go,fiber") |
| 1942 | c.Request().Header.SetCookie("favouriteDrinks", "milo,coke,pepsi") |
| 1943 | c.Request().Header.SetCookie("alloc", "") |
| 1944 | c.Request().Header.SetCookie("no", "1") |
| 1945 | |
| 1946 | h2 := new(Cookie2) |
| 1947 | h2.Bool = true |
| 1948 | h2.Name = helloWorld |
| 1949 | require.NoError(t, c.Bind().Cookie(h2)) |
| 1950 | require.Equal(t, "go,fiber", h2.Hobby) |