<commit_before>(function (enyo) {

	/**
		_enyo.Source_ is a pseudo-abstract API for communcating with a backend,
		which may be either local or remote. [enyo.Store](#enyo.Source) requires a
		source to function properly. An _enyo.Source_ may easily be overloaded to
		work with specific backend implementations and data formats.

		The built-in implementation is designed to work with a remote REST API
		relying on GET, POST, PUT and DELETE to communicate with the (remote)
		source.	For _fetch_ requests, it will use GET. See
		[enyo.Collection](#enyo.Collection) and [enyo.Model](#enyo.Model) for
		specifics.
	*/

	var normalize = function (url) {
		return url.replace(/([^:]\/)(\/+)/g, "$1");
	};

	var http = /^http/;

	enyo.kind({

		// ...........................
		// PUBLIC PROPERTIES

		name: "enyo.Source",
		kind: "enyo.Component",

		//*@public
		/**
			The type of object to use for requests. As long as the kind has the
			same API as _enyo.Async_ it should be possible to use it with _enyo.Source_.
		*/
		requestKind: "enyo.Ajax",

		//*@public
		/**
			The root domain for all requests. The _"http"_ prefix is not required, but
			may be included. For secure (_https_) connections, see the _secure_
			property.
		*/
		domain: "",

		//*@public
		/**
			An optional string to be appended after the url is constructed.
		*/
		urlPostfix: "",

		//*@public
		/**
			The port to use when constructing the url. Only specify a value if the
			necessary port is different from the current domain port (it will
			automatically use _document.location.port_ unless the _ignorePort_ option
			is set to true).
		*/
		port: null,

		//*@public
		/**
			If the current domain for the client is running on a port other than 80
			(e.g., http://localhost:8080), set this to true to construct requests
			without the port number.
		*/
		ignorePort: false,

		//*@public
		/**
			Set this to true if a secure (_https_) url is required.
		*/
		secure: false,

		//*@public
		/**
			If the (remote) backend is read-only, set this to true to dissallow any
			calls to POST, PUT or DELETE.
		*/
		readOnly: false,

		//*@public
		/**
			A bindable property that indicates whether an asynchronous operation is
			taking place.
		*/
		busy: false,

		//*@public
		/**
			The default options that are passed to the request object. Precedence is
			given to models or collections that provide their own options that
			override any default options.

			Defaults to _cacheBust: false_ and _contentType: "application/json"_.
		*/
		defaultOptions: {
			cacheBust: false,
			contentType: "application/json"
		},

		//*@public
		/**
			The default headers to be used in requests if they differ from those
			in _enyo.AjaxProperties_.
		*/
		defaultHeaders: null,

		// ...........................
		// PROTECTED PROPERTIES

		__noApplyMixinDestroy: true,

		// ...........................
		// COMPUTED PROPERTIES

		// ...........................
		// PUBLIC METHODS
		buildUrl: function (model, options) {
			if (!options.url) {
				// initially we grab the model's query string
				var $m = model.get("query");
				// and create the url string we will build if we need to
				var $u = "";<commit_msg>Fixed broken link and typo. Enyo-DCO-1.1-Signed-Off-By: <NAME> (<EMAIL>)<commit_after>(function (enyo) {

	/**
		_enyo.Source_ is a pseudo-abstract API for communcating with a backend,
		which may be either local or remote. An [enyo.Store](#enyo.Store) requires a
		source to function properly. An _enyo.Source_ may easily be overloaded to
		work with specific backend implementations and data formats.

		The built-in implementation is designed to work with a remote REST API
		relying on GET, POST, PUT and DELETE to communicate with the (remote)
		source.	For _fetch_ requests, it will use GET. See
		[enyo.Collection](#enyo.Collection) and [enyo.Model](#enyo.Model) for
		details.
	*/

	var normalize = function (url) {
		return url.replace(/([^:]\/)(\/+)/g, "$1");
	};

	var http = /^http/;

	enyo.kind({

		// ...........................
		// PUBLIC PROPERTIES

		name: "enyo.Source",
		kind: "enyo.Component",

		//*@public
		/**
			The type of object to use for requests. As long as the kind has the
			same API as [enyo.Async](#enyo.Async), it should be possible to use it
			with _enyo.Source_.
		*/
		requestKind: "enyo.Ajax",

		//*@public
		/**
			The root domain for all requests. The _"http"_ prefix is not required, but
			may be included. For secure (_https_) connections, see the _secure_
			property.
		*/
		domain: "",

		//*@public
		/**
			An optional string to be appended after the url is constructed.
		*/
		urlPostfix: "",

		//*@public
		/**
			The port to use when constructing the url. Only specify a value if the
			necessary port is different from the current domain port (it will
			automatically use _document.location.port_ unless the _ignorePort_ option
			is set to true).
		*/
		port: null,

		//*@public
		/**
			If the current domain for the client is running on a port other than 80
			(e.g., http://localhost:8080), set this to true to construct requests
			without the port number.
		*/
		ignorePort: false,

		//*@public
		/**
			Set this to true if a secure (_https_) url is required.
		*/
		secure: false,

		//*@public
		/**
			If the (remote) backend is read-only, set this to true to disallow any
			calls to POST, PUT or DELETE.
		*/
		readOnly: false,

		//*@public
		/**
			A bindable property that indicates whether an asynchronous operation is
			taking place.
		*/
		busy: false,

		//*@public
		/**
			The default options that are passed to the request object. Precedence is
			given to models or collections that provide their own options that
			override any default options.

			Defaults to _cacheBust: false_ and _contentType: "application/json"_.
		*/
		defaultOptions: {
			cacheBust: false,
			contentType: "application/json"
		},

		//*@public
		/**
			The default headers to be used in requests if they differ from those
			in [enyo.AjaxProperties](#enyo/source/ajax/AjaxProperties.js).
		*/
		defaultHeaders: null,

		// ...........................
		// PROTECTED PROPERTIES

		__noApplyMixinDestroy: true,

		// ...........................
		// COMPUTED PROPERTIES

		// ...........................
		// PUBLIC METHODS
		buildUrl: function (model, options) {
			if (!options.url) {
				// initially we grab the model's query string
				var $m = model.get("query");
				// and create the url string we will build if we need to
				var $u = "";
{'fraction_non_alphanumeric': 0.13560885608856088, 'fraction_numerical': 0.0024600246002460025, 'mean_word_length': 2.520021645021645, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4911359', 'n_tokens_mistral': 2292, 'n_tokens_neox': 1926, 'n_words': 774}