+
+ size_read = g_input_stream_read (G_INPUT_STREAM (input_stream),
+ buffer, 1024, NULL, NULL);
+ g_input_stream_close (G_INPUT_STREAM (input_stream), NULL, error);
+
+ g_object_unref (file);
+
+ if (size_read == -1)
+ return NULL;
+
+ return g_content_type_guess (NULL, /* no filename */
+ buffer, 1024,
+ NULL);
+}
+
+static EvDocument *
+get_document_from_uri (const char *uri,
+ gboolean slow,
+ EvCompressionType *compression,
+ GError **error)
+{
+ EvDocument *document = NULL;
+ gchar *mime_type = NULL;
+
+ *compression = EV_COMPRESSION_NONE;
+
+ mime_type = slow ?
+ get_mime_type_from_data (uri, error) :
+ get_mime_type_from_uri (uri, error);