def get_impl(self):

        path = self.split_path(1)
        model_name = path.pop(0)

        if model_name == METADATA_PATH:
            out = self.get_metadata(path)

        elif(model_name == BLOBUPLOADRESULT_PATH):
            # this is the final call from a blobinfo upload
            self.response.disp_cache_resp_ = False
            path.append(BLOBUPLOADRESULT_PATH)
            model_name = path.pop(0)
            model_key = path.pop(0)
            self.update_impl(path, model_name, model_key, "POST", False)
            return

        else:
            model_handler = self.get_model_handler(model_name, "GET")
            model_name = model_handler.model_name

            list_props = {}
            if (len(path) > 0):
                model_key = path.pop(0)
                models = model_handler.get(model_key)

                self.authorizer.can_read(self, models)

                if (len(path) > 0):
                    # single property get
                    prop_name = path.pop(0)
                    prop_handler = model_handler.get_property_handler(
                        prop_name)
                    self.get_if_none_match(model_handler, models)
                    prop_value = prop_handler.get_value(models)
                    prop_handler.value_to_response(self, prop_name, prop_value,
                                                   path)
                    return

            else:
                models = self.get_all_impl(model_handler, list_props)

            if models is None:
                self.not_found()

            self.get_if_none_match(model_handler, models, list_props)

            out = self.models_to_xml(model_name, model_handler, models,
                                     list_props)

        self.write_output(out)
Actual implementation of REST get.  Gets metadata (types,
dataset/ETHPy150Open jahlborn/appengine-rest-server/src/main/python/rest/__init__.py/Dispatcher.get_impl