Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
a44b6dd
Clean out mochiweb/webmachine
martinsumner Apr 1, 2026
fa46a83
Initial add of SilverMachine - read object
martinsumner Apr 7, 2026
6461928
Add PUT/POST object
martinsumner Apr 8, 2026
e500e8b
Merge branch 'openriak-4.0' into nhse-o40-orkv.i141-silvermachine
martinsumner Apr 8, 2026
604863e
Resolve merge and format issues
martinsumner Apr 8, 2026
b4b9640
Add delete and stats callbacks
martinsumner Apr 9, 2026
a3251fa
Extend to include index endpoint
martinsumner Apr 10, 2026
c8ad0de
Unify matching of Accept with Content-Type
martinsumner Apr 12, 2026
786c0d3
Tidy up validation and tests
martinsumner Apr 12, 2026
f8c64d7
Fix to stats path matching
martinsumner Apr 12, 2026
2c82e3b
Fixes from initial riak_test run
martinsumner Apr 13, 2026
1d939a9
Add maybe support for OTP 26
martinsumner Apr 13, 2026
b7b2c38
Update riak_kv_web_index.erl
martinsumner Apr 13, 2026
66f261c
change to binary:split
martinsumner Apr 14, 2026
5674e15
Further 2i fixes
martinsumner Apr 14, 2026
882b3c5
Remove confirm_empty_body checks - API now checks
martinsumner Apr 15, 2026
33807ad
Add AAE Fold to API
martinsumner Apr 17, 2026
a0c7851
Unify conditional check across PB/HTTP
martinsumner Apr 17, 2026
0181256
Add if-match check
martinsumner Apr 17, 2026
8a73987
Use preference in content-type selection
martinsumner Apr 20, 2026
7138404
Test badly-formatted Accept header
martinsumner Apr 20, 2026
288f329
Add inital draft of riak_kv_web_query
martinsumner Apr 20, 2026
c090677
Use init not init_timeout as stage
martinsumner Apr 21, 2026
291eff4
Add key list, bucket list and repl queue support
martinsumner Apr 22, 2026
3ac81e7
Add bucket properties and other http_security test related changes
martinsumner Apr 24, 2026
6ff27e0
Rename
martinsumner Apr 24, 2026
a01b1b4
Correct placing of maybe feature directive
martinsumner Apr 24, 2026
ab76fa9
Switch to new check_permissions callback
martinsumner Apr 24, 2026
a68a9f5
Correct errors and add crdt module
martinsumner Apr 28, 2026
de7409c
Some tidying to resolve issues identified in riak_test
martinsumner Apr 30, 2026
c6060fb
Forgot to fmt
martinsumner Apr 30, 2026
c5d5c17
Ensure CRDT response is binary
martinsumner May 1, 2026
6fdbeda
Update for use of Port in get_route function
martinsumner May 1, 2026
e014923
Update for overlapping routes
martinsumner May 5, 2026
21b0704
Temp enable `missing_return` in dialyzer and make relevant changes
martinsumner May 6, 2026
9f10455
functions to support riak_control API requests
Apr 6, 2026
020c21e
riak:deadmanshand_restart/0, helper for admin_api call ClusterNodeRes…
Apr 11, 2026
6aa89ba
move code shared between cli and ag handlers to a module of its own
May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/erlang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,5 @@ jobs:
run: ./rebar3 do xref, dialyzer
- name: Run eunit
run: ./rebar3 as gha do eunit
- name: Check format
run: ./rebar3 fmt --check
295 changes: 0 additions & 295 deletions eqc/kv_crdt_eqc.erl

This file was deleted.

2 changes: 1 addition & 1 deletion eqc/put_fsm_eqc.erl
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
-include_lib("eqc/include/eqc.hrl").
-include_lib("eunit/include/eunit.hrl").
-include("include/riak_kv_vnode.hrl").
-include("../src/riak_kv_wm_raw.hrl").
-include("include/riak_object.hrl").

-define(REQ_ID, 1234).
-define(DEFAULT_BUCKET_PROPS,
Expand Down
68 changes: 68 additions & 0 deletions include/riak_kv_web.hrl
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
%% -------------------------------------------------------------------
%%
%% Copyright (c) 2026 Martin Sumner
%%
%% This file is provided to you under the Apache License,
%% Version 2.0 (the "License"); you may not use this file
%% except in compliance with the License. You may obtain
%% a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing,
%% software distributed under the License is distributed on an
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
%% KIND, either express or implied. See the License for the
%% specific language governing permissions and limitations
%% under the License.
%%
%% -------------------------------------------------------------------
%% @doc common definitions for web handlers

-define(TXT_HEADER, {'Content-Type', <<"text/plain">>}).
-define(JSN_HEADER, {'Content-Type', <<"application/json">>}).
-define(BIN_HEADER, {'Content-Type', <<"application/octet-stream">>}).

-define(HEAD_VCLOCK, <<"X-Riak-Vclock">>).
-define(HEAD_USERMETA_PREFIX, <<"X-Riak-Meta-">>).
-define(HEAD_INDEX_PREFIX, <<"X-Riak-Index-">>).
-define(HEAD_DELETED, <<"X-Riak-Deleted">>).
-define(HEAD_CONTINUATION, <<"X-Riak-Continuation">>).

%% Case-folded headers to be used in lookups
-define(HEAD_VCLOCK_CASEFOLD, <<"x-riak-vclock">>).
-define(HEAD_IFNOTMOD_CASEFOLD, <<"x-riak-if-not-modified">>).
-define(HEAD_USERMETA_CASEFOLD, <<"x-riak-meta-">>).
-define(HEAD_INDEX_CASEFOLD, <<"x-riak-index-">>).
-define(HEAD_CLIENTID_CASEFOLD, <<"x-riak-clientid">>).

-define(Q_2I_CONTINUATION_BIN, <<"continuation">>).
-define(Q_RESULTS_BIN, <<"results">>).
-define(Q_KEYS_BIN, <<"keys">>).

%% Names of JSON fields in bucket properties
-define(JSON_PROPS, <<"props">>).
-define(JSON_BUCKETS, <<"buckets">>).
-define(JSON_KEYS, <<"keys">>).
-define(JSON_MOD, <<"mod">>).
-define(JSON_FUN, <<"fun">>).
-define(JSON_NAME, <<"name">>).
-define(JSON_ARG, <<"arg">>).
-define(JSON_CHASH, <<"chash_keyfun">>).
-define(JSON_JSFUN, <<"jsfun">>).
-define(JSON_JSANON, <<"jsanon">>).
-define(JSON_JSBUCKET, <<"bucket">>).
-define(JSON_JSKEY, <<"key">>).
-define(JSON_ALLOW_MULT, <<"allow_mult">>).
-define(JSON_DATATYPE, <<"datatype">>).
-define(JSON_POSTC, <<"postcommit">>).
-define(JSON_PREC, <<"precommit">>).

%% erlfmt:ignore-begin
-type stream_fun() ::
fun(() ->
{binary(), stream_fun()}
| done
| error
).
%% erlfmt:ignore-end
12 changes: 11 additions & 1 deletion include/riak_object.hrl
Original file line number Diff line number Diff line change
@@ -1,3 +1,13 @@
-define(DOT, <<"dot">>). %% The event at which a value was written, stored in metadata


%% Names of riak_object metadata fields
-define(MD_CTYPE, <<"content-type">>).
-define(MD_CHARSET, <<"charset">>).
-define(MD_ENCODING, <<"content-encoding">>).
-define(MD_VTAG, <<"X-Riak-VTag">>).
-define(MD_LINKS, <<"Links">>).
-define(MD_LASTMOD, <<"X-Riak-Last-Modified">>).
-define(MD_USERMETA, <<"X-Riak-Meta">>).
-define(MD_INDEX, <<"index">>).
-define(MD_DELETED, <<"X-Riak-Deleted">>).
-define(MD_VAL_ENCODING, <<"X-Riak-Val-Encoding">>).
Loading
Loading