set revision header when key not exists (#105)

diff --git a/server/resource/v1/common.go b/server/resource/v1/common.go
index 9787cc7..2a5678c 100644
--- a/server/resource/v1/common.go
+++ b/server/resource/v1/common.go
@@ -238,17 +238,18 @@
 	if status != "" {
 		opts = append(opts, service.WithStatus(status))
 	}
-	kv, err := service.KVService.List(rctx.Ctx, domain.(string), project, opts...)
+	rev, err := service.RevisionService.GetRevision(rctx.Ctx, domain.(string))
 	if err != nil {
-		if err == service.ErrKeyNotExists {
-			WriteErrResponse(rctx, http.StatusNotFound, err.Error(), common.ContentTypeText)
-			return
-		}
 		WriteErrResponse(rctx, http.StatusInternalServerError, err.Error(), common.ContentTypeText)
 		return
 	}
-	rev, err := service.RevisionService.GetRevision(rctx.Ctx, domain.(string))
+	kv, err := service.KVService.List(rctx.Ctx, domain.(string), project, opts...)
 	if err != nil {
+		if err == service.ErrKeyNotExists {
+			rctx.ReadResponseWriter().Header().Set(common.HeaderRevision, strconv.FormatInt(rev, 10))
+			WriteErrResponse(rctx, http.StatusNotFound, err.Error(), common.ContentTypeText)
+			return
+		}
 		WriteErrResponse(rctx, http.StatusInternalServerError, err.Error(), common.ContentTypeText)
 		return
 	}