=begin pod =TITLE role Matrix::Client::Requester =SUBTITLE Role for HTTP requests role Matrix::Client::Requester { } Role that gives the base API for objects that interacts to the matrix server. The attributes that can be set can be: =head1 Attributes =head2 Str home-server The url of the home-server. =head2 Str access-token access token to make authorized calls to the matrix server. =head2 Str url-prefix Prefix to all the paths used in the methods. =head1 Methods =head2 get method get(Str $path, :$media = False, *%data) Do a GET to C<$path>. All the C<*%data> is used to build the query params for the url. =head2 post multi method post(Str $path, Str $params, :$media = False) multi method post(Str $path, :$media = False, *%params) Do a POST to C<$path> with C<$params> as JSON body. With the named C<*%params>, those are parameters are converted into JSON. =head2 post-bin method post-bin(Str $path, Buf $buf, :$content-type) Do a POST to C<$path> with binary data in the body. =head2 put multi method put(Str $path, Str $params) multi method put(Str $path, *%params) Do a PUT to C<$path> with C<$params> as JSON body. With the named C<*%params>, those parameters are converted into JSON. =head2 delete method delete(Str $path) Do a DELETE to C<$path>. =end pod