summaryrefslogtreecommitdiffstats
path: root/request.go
diff options
context:
space:
mode:
Diffstat (limited to 'request.go')
-rw-r--r--request.go20
1 files changed, 20 insertions, 0 deletions
diff --git a/request.go b/request.go
index 0fb27a2..44bae56 100644
--- a/request.go
+++ b/request.go
@@ -219,6 +219,26 @@ func (r *Request) SetSelect(selector, query string) error {
return setSelect(&r.Message, "select", selector, query)
}
+// Length gets the length request parameter (or 0 if not set or invalid).
+func (r *Request) Length() int64 {
+ n, err := getInt(&r.Message, "length", 0)
+ if err != nil {
+ return 0
+ }
+ return n
+}
+
+// SetLength sets the length request parameter to n.
+//
+// If n is negative or zero, the parameter is unset.
+func (r *Request) SetLength(n int64) {
+ if n <= 0 {
+ r.SetParam("length", "")
+ } else {
+ setInt(&r.Message, "length", n)
+ }
+}
+
// Validate validates the request header intent and parameter value format
// (length, name, type, if_modified, select)
func (r *Request) Validate() error {