From 9933c3bcd5c93a001fae143c2ecfaa3cd1c7da3d Mon Sep 17 00:00:00 2001 From: Michael Vrable Date: Thu, 24 Feb 2011 16:40:06 -0800 Subject: [PATCH] Add byte range support to the Azure backend. --- bluesky/store-azure.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/bluesky/store-azure.c b/bluesky/store-azure.c index e7a2b71..176d38b 100644 --- a/bluesky/store-azure.c +++ b/bluesky/store-azure.c @@ -268,6 +268,20 @@ static void azurestore_task(gpointer a, gpointer s) BlueSkyRCStr *result = NULL; if (async->op == STORE_OP_GET) { + /* FIXME: We ought to check that the response returned the requested + * byte range. */ + if (async->start != 0 && async->len != 0) { + g_hash_table_insert(headers, + g_strdup("Range"), + g_strdup_printf("%zd-%zd", async->start, + async->start + async->len)); + async->range_done = TRUE; + } else if (async->start != 0) { + g_hash_table_insert(headers, + g_strdup("Range"), + g_strdup_printf("%zd-", async->start)); + async->range_done = TRUE; + } result = submit_request(store, "GET", async->key, headers, NULL); if (result != NULL) { async->data = result; -- 2.20.1