def metadata(self, file_path, params=None):
        """
        :params:
            title: string
            keywords: array
            extra_metadata: array
            temporal_coverage: coverage object
            spatial_coverage: coverage object

        :return:
            file metadata object (200 status code)
        """

        url_base = self.hs.url_base
        url = "{url_base}/resource/{pid}/files/metadata/{file_path}/".format(url_base=url_base,
                                                                            pid=self.pid,
                                                                            file_path=file_path)

        if params is None:
            r = self.hs._request('GET', url)
        else:
            headers = {}
            headers["Content-Type"] = "application/json"
            r = self.hs._request("PUT", url, data=json.dumps(params), headers=headers)

        return r