Skip to content

Instantly share code, notes, and snippets.

@adamcfraser
Created September 24, 2019 23:49
Show Gist options
  • Save adamcfraser/38bcc2f7ee4f6045b46ebdb0195a26f6 to your computer and use it in GitHub Desktop.
Save adamcfraser/38bcc2f7ee4f6045b46ebdb0195a26f6 to your computer and use it in GitHub Desktop.
Create user
http --verbose PUT localhost:4985/default/_user/adam name=adam password=1234
Put a few docs as user
http --verbose -a adam:1234 PUT localhost:4984/default/doc1 channels:='["channel1", "channel2"]'
http --verbose -a adam:1234 PUT localhost:4984/default/doc2 channels:='["channel2"]'
Put a few docs as admin
http --verbose PUT localhost:4985/default/doc3 channels:='["channeladmin"]'
http --verbose PUT localhost:4985/default/doc3 channels:='["channel1"]'
Grant user access to channel
http --verbose PUT localhost:4985/default/_user/adam admin_channels:='["channel1"]'
http --verbose PUT localhost:4985/default/_user/adam admin_channels:='["*"]'
Get Changes for user
http --verbose --stream -a adam:1234 GET localhost:4984/default/_changes // generic changes
http --verbose --stream -a adam:1234 GET localhost:4984/default/_changes since==2378 // changes since
http --verbose --stream -a adam:1234 GET localhost:4984/default/_changes since==2378 feed==continuous heartbeat==26000 // continuous
Create conflict
http PUT localhost:4985/default/conflictDoc value=1234
http PUT localhost:4985/default/conflictDoc value=5678 rev==1-f6fa803508c40388de38c9f99729c835
http --verbose PUT localhost:4985/default/conflictDoc value=9101112 new_edits==false _revisions:='{"start":2, "ids":["foo", "f6fa803508c40388de38c9f99729c835"]}'
Create conflict in different channels (assuming default sync function)
http PUT localhost:4985/default/conflictDoc channels:='["ABC"]'
http PUT localhost:4985/default/conflictDoc rev==1-cbd5f2ac001c958accd517c4022fdad3 channels:='["ABC"]'
http PUT localhost:4985/default/conflictDoc channels:='["DEF"]' new_edits==false _revisions:='{"start":2, "ids":["foo", "cbd5f2ac001c958accd517c4022fdad3"]}'
Other new_edits false
http --verbose PUT localhost:4985/default/customRev value=1 new_edits==false _revisions:='{"start":1, "ids":["myCustomRev"]}'
Changes
http --verbose --stream GET localhost:4985/default/_changes since==0 feed==continuous heartbeat==26000
Bulk Get
http --verbose -a adam:1234 POST localhost:4984/default/_bulk_get docs:='[{"id":"doc1"},{"id":"doc2"}]' Accept:multipart/*
Bulk Docs
http --verbose -a adam:1234 POST localhost:4984/default/_bulk_docs docs:='[{"_id":"doc10","value":"10"},{"_id":"doc11","value":"11"}]'
http --verbose POST localhost:4985/default/_bulk_docs docs:='[{"_id":"conflictDoc","value":"10", "_rev":"1-b6736aa06546099506684648b7bd61d8"}]'
http --verbose -a adam:1234 POST localhost:4984/default/_bulk_docs docs:='[{"_id":"_local/AcooQbMLLrfGAJcmoArYzw==","value":"10"},{"_id":"doc11","value":"11"}]'
http --verbose -a adam:1234 POST localhost:4984/default/_bulk_docs docs:='[{"_id":"_local/Bm.uEatlKza8kO878DZy2A==","value":"10"},{"_id":"nonLocalDoc","value":"11"}]'
Create admin session (user must exist)
http POST localhost:4985/default/_session name=user1
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment