anchor.diff:  -mixin([{?BASE_RESOURCE, [ service_available/2 ]}]).
   
   -behavior(chef_wm).
  --export([auth_info/2,
  +-export([
  +         auth_info/2,
            init/1,
            init_resource_state/1,
  +         malformed_request_message/3,
            request_type/0,
            validate_request/3]).
   
   -export([allowed_methods/2,
  -         from_json/2,
  -         resource_exists/2,
            process_post/2]).
   
   init(Config) ->
  
positive.code: 
  -include("chef_wm.hrl").
  
  -mixin([{chef_wm_base, [content_types_accepted/2,
                          content_types_provided/2,
                          finish_request/2,
                          malformed_request/2,
                          ping/2 ]}]).
  
negative.code:   "users".
  
  allowed_methods(Req, State) ->
    {['POST'], Req, State}.
  
  validate_request('POST', Req, #base_state{resource_state = UserState} = State) ->
    case wrq:req_body(Req) of
        undefined ->
            throw({error, missing_body});
        Body ->
            UserData = ejson:decode(Body),
            case ej:valid(valid_user_data(), UserData) of
                ok ->
                    UserState1 = UserState#user_state{user_data = UserData},
                    {Req, State#base_state{resource_state = UserState1}};
                Bad ->
                    throw(Bad)
            end
    end.
  
  valid_user_data() ->
      {[{<<"name">>, string},
        {<<"password">>, string}]}.
  
  %% Create, destroy, and update are admin only actions
  %% Need to update this to reflect that, as right now it
  