diff --git a/docs/developers/applications/define-routes.md b/docs/developers/applications/define-routes.md index 323d1e3e..d16c787e 100644 --- a/docs/developers/applications/define-routes.md +++ b/docs/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to Harper. The same result could have been achieved by hitting the core Harper API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/docs/developers/operations-api/components.md b/docs/developers/operations-api/components.md index f86dfa2f..8a6d2967 100644 --- a/docs/developers/operations-api/components.md +++ b/docs/developers/operations-api/components.md @@ -54,7 +54,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have installed SSH keys on the server. Ensure the `host` portion of the url exactly matches the `host` used when adding ssh keys to ensure proper authentication. ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: @@ -369,9 +369,9 @@ Host harperdb-private-component.github.com ``` ``` -"package": "git+ssh:/git@:.git#semver:v1.2.3" +"package": "git+ssh://git@:.git#semver:v1.2.3" -"package": "git+ssh:/git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" +"package": "git+ssh://git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" ``` Note that `deploy_component` with a package uses `npm install` so the url must be a valid npm format url. The above is an example of a url using a tag in the repo to install. diff --git a/docs/developers/security/jwt-auth.md b/docs/developers/security/jwt-auth.md index 0ea7290f..832373e4 100644 --- a/docs/developers/security/jwt-auth.md +++ b/docs/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their Harper credentials. The following A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by Harper. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/docs/getting-started/first-harper-app.md b/docs/getting-started/first-harper-app.md index 948e67f4..5390f98a 100644 --- a/docs/getting-started/first-harper-app.md +++ b/docs/getting-started/first-harper-app.md @@ -156,9 +156,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest) and see the [Schema reference](../developers/applications/defining-schemas) for more options for defining schemas. diff --git a/docs/getting-started/install-harper.md b/docs/getting-started/install-harper.md index 8786d674..114471e8 100644 --- a/docs/getting-started/install-harper.md +++ b/docs/getting-started/install-harper.md @@ -59,7 +59,7 @@ These defaults allow you to quickly start an instance, though you can customize Containers created from this image store all data and Harper configuration at `/home/harperdb/hdb`. To ensure that your data persists beyond the lifecycle of a container, you should mount this directory to a directory on the container host using a Docker volume. This ensures that your database remains available and your settings are not lost when the container is stopped or removed. :::info -Test your Harper instance is up and running by querying `curl http:/localhost:9925/health` +Test your Harper instance is up and running by querying `curl http://localhost:9925/health` ::: ### Example Deployments @@ -123,7 +123,7 @@ If you want to inspect the logs to ensure that Harper has started correctly, use docker logs ``` -Once verified, you can access your Harper instance by opening your web browser and navigating to http:/localhost:9925 (or the appropriate port based on your configuration). +Once verified, you can access your Harper instance by opening your web browser and navigating to [http://localhost:9925](http://localhost:9925) (or the appropriate port based on your configuration). ### Raw binary installation diff --git a/docs/technical-details/reference/analytics.md b/docs/technical-details/reference/analytics.md index 2f2ddbd8..545190f3 100644 --- a/docs/technical-details/reference/analytics.md +++ b/docs/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ Harper collects statistics for all operations, URL endpoints, and messaging topi There are two "levels" of analytics in the Harper analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/docs/technical-details/reference/components/applications.md b/docs/technical-details/reference/components/applications.md index 6b37592a..28cdcdcf 100644 --- a/docs/technical-details/reference/components/applications.md +++ b/docs/technical-details/reference/components/applications.md @@ -109,7 +109,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value]( - For applications deployed to npm, specify the package name: `package="@harperdb/status-check"` - For applications on GitHub, specify the URL: `package="https://github.com/HarperDB/status-check"`, or the shorthand `package=HarperDB/status-check` -- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh:/git@github.com:HarperDB/secret-applications.git"` +- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh://git@github.com:HarperDB/secret-applications.git"` - Reference the [SSH Key](../../../developers/operations-api/components#add-ssh-key) operations for more information on managing SSH keys on a remote instance - Even tarball URLs are supported: `package="https://example.com/application.tar.gz"` @@ -164,8 +164,8 @@ Harper will generate a `package.json` like: "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -177,7 +177,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` By specifying a file path, npm will generate a symlink and then changes will be automatically picked up between restarts. diff --git a/versioned_docs/version-4.1/custom-functions/define-routes.md b/versioned_docs/version-4.1/custom-functions/define-routes.md index 5336f0f3..ca64384c 100644 --- a/versioned_docs/version-4.1/custom-functions/define-routes.md +++ b/versioned_docs/version-4.1/custom-functions/define-routes.md @@ -10,7 +10,7 @@ Route URLs are resolved in the following manner: - [**Instance URL**]:[**Custom Functions Port**]/[**Project Name**]/[**Route URL**] -- The route below, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to HarperDB. The same result could have been achieved by hitting the core HarperDB API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.1/security/jwt-auth.md b/versioned_docs/version-4.1/security/jwt-auth.md index a7823bd7..978ca4b4 100644 --- a/versioned_docs/version-4.1/security/jwt-auth.md +++ b/versioned_docs/version-4.1/security/jwt-auth.md @@ -29,7 +29,7 @@ Users must initially create tokens using their HarperDB credentials. The followi A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -52,7 +52,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -69,7 +69,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by HarperDB. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.2/developers/applications/define-routes.md b/versioned_docs/version-4.2/developers/applications/define-routes.md index 34d49b29..b6fd78a7 100644 --- a/versioned_docs/version-4.2/developers/applications/define-routes.md +++ b/versioned_docs/version-4.2/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to HarperDB. The same result could have been achieved by hitting the core HarperDB API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.2/developers/applications/index.md b/versioned_docs/version-4.2/developers/applications/index.md index e5e3f274..74288641 100644 --- a/versioned_docs/version-4.2/developers/applications/index.md +++ b/versioned_docs/version-4.2/developers/applications/index.md @@ -150,7 +150,7 @@ type Dog @table @export { } ``` -By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be [http:/localhost:9926/Dog/](http:/localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: +By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be [http://localhost:9926/Dog/](http://localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: ```http POST /Dog/ @@ -164,7 +164,7 @@ Content-Type: application/json } ``` -With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http:/localhost:9926/Dog/` will achieve the same thing. +With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http://localhost:9926/Dog/` will achieve the same thing. ## Authenticating Endpoints @@ -217,9 +217,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](./rest) and see the [Schema reference](./applications/defining-schemas) for more options for defining schemas. diff --git a/versioned_docs/version-4.2/developers/components/installing.md b/versioned_docs/version-4.2/developers/components/installing.md index 090075b4..c9e935d0 100644 --- a/versioned_docs/version-4.2/developers/components/installing.md +++ b/versioned_docs/version-4.2/developers/components/installing.md @@ -42,8 +42,8 @@ The package.json file that is created will look something like this. "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -53,7 +53,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` ## Installing components using the operations API diff --git a/versioned_docs/version-4.2/developers/operations-api/components.md b/versioned_docs/version-4.2/developers/operations-api/components.md index f1a3d3ae..0abc5406 100644 --- a/versioned_docs/version-4.2/developers/operations-api/components.md +++ b/versioned_docs/version-4.2/developers/operations-api/components.md @@ -53,7 +53,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have an installed SSH keys on the server: ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: diff --git a/versioned_docs/version-4.2/developers/security/jwt-auth.md b/versioned_docs/version-4.2/developers/security/jwt-auth.md index cd37119d..4b3ea934 100644 --- a/versioned_docs/version-4.2/developers/security/jwt-auth.md +++ b/versioned_docs/version-4.2/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their HarperDB credentials. The followi A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by HarperDB. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.2/technical-details/reference/analytics.md b/versioned_docs/version-4.2/technical-details/reference/analytics.md index c6500e78..314dcd94 100644 --- a/versioned_docs/version-4.2/technical-details/reference/analytics.md +++ b/versioned_docs/version-4.2/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ HarperDB collects statistics for all operations, URL endpoints, and messaging to There are two "levels" of analytics in the HarperDB analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/versioned_docs/version-4.3/developers/applications/define-routes.md b/versioned_docs/version-4.3/developers/applications/define-routes.md index 01b3e1de..401213b7 100644 --- a/versioned_docs/version-4.3/developers/applications/define-routes.md +++ b/versioned_docs/version-4.3/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to HarperDB. The same result could have been achieved by hitting the core HarperDB API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.3/developers/applications/index.md b/versioned_docs/version-4.3/developers/applications/index.md index 4614107a..12fc76cd 100644 --- a/versioned_docs/version-4.3/developers/applications/index.md +++ b/versioned_docs/version-4.3/developers/applications/index.md @@ -150,7 +150,7 @@ type Dog @table @export { } ``` -By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be [http:/localhost:9926/Dog/](http:/localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: +By default the application HTTP server port is `9926` (this can be [configured here](../deployments/configuration#http)), so the local URL would be [http://localhost:9926/Dog/](http://localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: ```http POST /Dog/ @@ -164,7 +164,7 @@ Content-Type: application/json } ``` -With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http:/localhost:9926/Dog/` will achieve the same thing. +With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http://localhost:9926/Dog/` will achieve the same thing. ## Authenticating Endpoints @@ -217,9 +217,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](./rest) and see the [Schema reference](./applications/defining-schemas) for more options for defining schemas. diff --git a/versioned_docs/version-4.3/developers/components/installing.md b/versioned_docs/version-4.3/developers/components/installing.md index 090075b4..c9e935d0 100644 --- a/versioned_docs/version-4.3/developers/components/installing.md +++ b/versioned_docs/version-4.3/developers/components/installing.md @@ -42,8 +42,8 @@ The package.json file that is created will look something like this. "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -53,7 +53,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` ## Installing components using the operations API diff --git a/versioned_docs/version-4.3/developers/operations-api/components.md b/versioned_docs/version-4.3/developers/operations-api/components.md index f1a3d3ae..0abc5406 100644 --- a/versioned_docs/version-4.3/developers/operations-api/components.md +++ b/versioned_docs/version-4.3/developers/operations-api/components.md @@ -53,7 +53,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have an installed SSH keys on the server: ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: diff --git a/versioned_docs/version-4.3/developers/security/jwt-auth.md b/versioned_docs/version-4.3/developers/security/jwt-auth.md index cd37119d..4b3ea934 100644 --- a/versioned_docs/version-4.3/developers/security/jwt-auth.md +++ b/versioned_docs/version-4.3/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their HarperDB credentials. The followi A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by HarperDB. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.3/technical-details/reference/analytics.md b/versioned_docs/version-4.3/technical-details/reference/analytics.md index c6500e78..314dcd94 100644 --- a/versioned_docs/version-4.3/technical-details/reference/analytics.md +++ b/versioned_docs/version-4.3/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ HarperDB collects statistics for all operations, URL endpoints, and messaging to There are two "levels" of analytics in the HarperDB analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/versioned_docs/version-4.4/developers/applications/define-routes.md b/versioned_docs/version-4.4/developers/applications/define-routes.md index 37c3d016..c442f9f1 100644 --- a/versioned_docs/version-4.4/developers/applications/define-routes.md +++ b/versioned_docs/version-4.4/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to Harper. The same result could have been achieved by hitting the core Harper API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.4/developers/applications/index.md b/versioned_docs/version-4.4/developers/applications/index.md index ca05e0ed..49dbe7d9 100644 --- a/versioned_docs/version-4.4/developers/applications/index.md +++ b/versioned_docs/version-4.4/developers/applications/index.md @@ -150,7 +150,7 @@ type Dog @table @export { } ``` -By default the application HTTP server port is `9926` (this can be [configured here](../../deployments/configuration#http)), so the local URL would be [http:/localhost:9926/Dog/](http:/localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: +By default the application HTTP server port is `9926` (this can be [configured here](../../deployments/configuration#http)), so the local URL would be [http://localhost:9926/Dog/](http://localhost:9926/Dog/) with a full REST API. We can PUT or POST data into this table using this new path, and then GET or DELETE from it as well (you can even view data directly from the browser). If you have not added any records yet, we could use a PUT or POST to add a record. PUT is appropriate if you know the id, and POST can be used to assign an id: ```http POST /Dog/ @@ -164,7 +164,7 @@ Content-Type: application/json } ``` -With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http:/localhost:9926/Dog/` will achieve the same thing. +With this a record will be created and the auto-assigned id will be available through the `Location` header. If you added a record, you can visit the path `/Dog/` to view that record. Alternately, the curl command `curl http://localhost:9926/Dog/` will achieve the same thing. ## Authenticating Endpoints @@ -217,9 +217,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select=id,name,breed ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../../developers/rest) and see the [Schema reference](applications/defining-schemas) for more options for defining schemas. diff --git a/versioned_docs/version-4.4/developers/components/managing.md b/versioned_docs/version-4.4/developers/components/managing.md index 332a6699..8b8d03cc 100644 --- a/versioned_docs/version-4.4/developers/components/managing.md +++ b/versioned_docs/version-4.4/developers/components/managing.md @@ -105,7 +105,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value]( - For components deployed to npm, specify the package name: `package="@harperdb/status-check"` - For components on GitHub, specify the URL: `package="https://github.com/HarperDB/status-check"`, or the shorthand `package=HarperDB/status-check` -- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh:/git@github.com:HarperDB/secret-component.git"` +- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh://git@github.com:HarperDB/secret-component.git"` - Reference the [SSH Key](../operations-api/components#add-ssh-key) operations for more information on managing SSH keys on a remote instance - Even tarball URLs are supported: `package="https://example.com/component.tar.gz"` @@ -160,8 +160,8 @@ Harper will generate a `package.json` like: "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -173,7 +173,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` By specifying a file path, npm will generate a symlink and then changes will be automatically picked up between restarts. diff --git a/versioned_docs/version-4.4/developers/operations-api/components.md b/versioned_docs/version-4.4/developers/operations-api/components.md index 775a603d..a087cc13 100644 --- a/versioned_docs/version-4.4/developers/operations-api/components.md +++ b/versioned_docs/version-4.4/developers/operations-api/components.md @@ -54,7 +54,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have an installed SSH keys on the server: ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: @@ -367,9 +367,9 @@ Host harperdb-private-component.github.com ``` ``` -"package": "git+ssh:/git@:.git#semver:v1.2.3" +"package": "git+ssh://git@:.git#semver:v1.2.3" -"package": "git+ssh:/git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" +"package": "git+ssh://git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" ``` Note that `deploy_component` with a package uses `npm install` so the url must be a valid npm format url. The above is an example of a url using a tag in the repo to install. diff --git a/versioned_docs/version-4.4/developers/security/jwt-auth.md b/versioned_docs/version-4.4/developers/security/jwt-auth.md index 0ea7290f..832373e4 100644 --- a/versioned_docs/version-4.4/developers/security/jwt-auth.md +++ b/versioned_docs/version-4.4/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their Harper credentials. The following A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by Harper. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.4/technical-details/reference/analytics.md b/versioned_docs/version-4.4/technical-details/reference/analytics.md index 4ee7fdb7..0ab51c67 100644 --- a/versioned_docs/version-4.4/technical-details/reference/analytics.md +++ b/versioned_docs/version-4.4/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ Harper collects statistics for all operations, URL endpoints, and messaging topi There are two "levels" of analytics in the Harper analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/versioned_docs/version-4.5/developers/applications/define-routes.md b/versioned_docs/version-4.5/developers/applications/define-routes.md index 37c3d016..c442f9f1 100644 --- a/versioned_docs/version-4.5/developers/applications/define-routes.md +++ b/versioned_docs/version-4.5/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to Harper. The same result could have been achieved by hitting the core Harper API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.5/developers/components/managing.md b/versioned_docs/version-4.5/developers/components/managing.md index 332a6699..8b8d03cc 100644 --- a/versioned_docs/version-4.5/developers/components/managing.md +++ b/versioned_docs/version-4.5/developers/components/managing.md @@ -105,7 +105,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value]( - For components deployed to npm, specify the package name: `package="@harperdb/status-check"` - For components on GitHub, specify the URL: `package="https://github.com/HarperDB/status-check"`, or the shorthand `package=HarperDB/status-check` -- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh:/git@github.com:HarperDB/secret-component.git"` +- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh://git@github.com:HarperDB/secret-component.git"` - Reference the [SSH Key](../operations-api/components#add-ssh-key) operations for more information on managing SSH keys on a remote instance - Even tarball URLs are supported: `package="https://example.com/component.tar.gz"` @@ -160,8 +160,8 @@ Harper will generate a `package.json` like: "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -173,7 +173,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` By specifying a file path, npm will generate a symlink and then changes will be automatically picked up between restarts. diff --git a/versioned_docs/version-4.5/developers/operations-api/components.md b/versioned_docs/version-4.5/developers/operations-api/components.md index 14f41eb6..74740020 100644 --- a/versioned_docs/version-4.5/developers/operations-api/components.md +++ b/versioned_docs/version-4.5/developers/operations-api/components.md @@ -54,7 +54,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have an installed SSH keys on the server: ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: @@ -368,9 +368,9 @@ Host harperdb-private-component.github.com ``` ``` -"package": "git+ssh:/git@:.git#semver:v1.2.3" +"package": "git+ssh://git@:.git#semver:v1.2.3" -"package": "git+ssh:/git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" +"package": "git+ssh://git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" ``` Note that `deploy_component` with a package uses `npm install` so the url must be a valid npm format url. The above is an example of a url using a tag in the repo to install. diff --git a/versioned_docs/version-4.5/developers/security/jwt-auth.md b/versioned_docs/version-4.5/developers/security/jwt-auth.md index 0ea7290f..832373e4 100644 --- a/versioned_docs/version-4.5/developers/security/jwt-auth.md +++ b/versioned_docs/version-4.5/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their Harper credentials. The following A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by Harper. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.5/getting-started/first-harper-app.md b/versioned_docs/version-4.5/getting-started/first-harper-app.md index e911cd04..541d674e 100644 --- a/versioned_docs/version-4.5/getting-started/first-harper-app.md +++ b/versioned_docs/version-4.5/getting-started/first-harper-app.md @@ -156,9 +156,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest) and see the [Schema reference](../developers/applications/defining-schemas) for more options for defining schemas. diff --git a/versioned_docs/version-4.5/getting-started/install-harper.md b/versioned_docs/version-4.5/getting-started/install-harper.md index 8786d674..114471e8 100644 --- a/versioned_docs/version-4.5/getting-started/install-harper.md +++ b/versioned_docs/version-4.5/getting-started/install-harper.md @@ -59,7 +59,7 @@ These defaults allow you to quickly start an instance, though you can customize Containers created from this image store all data and Harper configuration at `/home/harperdb/hdb`. To ensure that your data persists beyond the lifecycle of a container, you should mount this directory to a directory on the container host using a Docker volume. This ensures that your database remains available and your settings are not lost when the container is stopped or removed. :::info -Test your Harper instance is up and running by querying `curl http:/localhost:9925/health` +Test your Harper instance is up and running by querying `curl http://localhost:9925/health` ::: ### Example Deployments @@ -123,7 +123,7 @@ If you want to inspect the logs to ensure that Harper has started correctly, use docker logs ``` -Once verified, you can access your Harper instance by opening your web browser and navigating to http:/localhost:9925 (or the appropriate port based on your configuration). +Once verified, you can access your Harper instance by opening your web browser and navigating to [http://localhost:9925](http://localhost:9925) (or the appropriate port based on your configuration). ### Raw binary installation diff --git a/versioned_docs/version-4.5/technical-details/reference/analytics.md b/versioned_docs/version-4.5/technical-details/reference/analytics.md index 4ee7fdb7..0ab51c67 100644 --- a/versioned_docs/version-4.5/technical-details/reference/analytics.md +++ b/versioned_docs/version-4.5/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ Harper collects statistics for all operations, URL endpoints, and messaging topi There are two "levels" of analytics in the Harper analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/versioned_docs/version-4.6/developers/applications/define-routes.md b/versioned_docs/version-4.6/developers/applications/define-routes.md index 37c3d016..c442f9f1 100644 --- a/versioned_docs/version-4.6/developers/applications/define-routes.md +++ b/versioned_docs/version-4.6/developers/applications/define-routes.md @@ -20,7 +20,7 @@ By default, route URLs are configured to be: However, you can specify the path to be `/` if you wish to have your routes handling the root path of incoming URLs. -- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **http:/localhost:9926/dogs/breeds**. +- The route below, using the default config, within the **dogs** project, with a route of **breeds** would be available at **[http://localhost:9926/dogs/breeds](http://localhost:9926/dogs/breeds)**. In effect, this route is just a pass-through to Harper. The same result could have been achieved by hitting the core Harper API, since it uses **hdbCore.preValidation** and **hdbCore.request**, which are defined in the "helper methods" section, below. diff --git a/versioned_docs/version-4.6/developers/operations-api/components.md b/versioned_docs/version-4.6/developers/operations-api/components.md index b60a0eed..1b964c50 100644 --- a/versioned_docs/version-4.6/developers/operations-api/components.md +++ b/versioned_docs/version-4.6/developers/operations-api/components.md @@ -54,7 +54,7 @@ HarperDB/application-template#semver:v1.0.0 You can also install from private repository if you have an installed SSH keys on the server: ``` -git+ssh:/git@github.com:my-org/my-app.git#semver:v1.0.0 +git+ssh://git@github.com:my-org/my-app.git#semver:v1.0.0 ``` Or you can use a Github token: @@ -370,9 +370,9 @@ Host harperdb-private-component.github.com ``` ``` -"package": "git+ssh:/git@:.git#semver:v1.2.3" +"package": "git+ssh://git@:.git#semver:v1.2.3" -"package": "git+ssh:/git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" +"package": "git+ssh://git@harperdb-private-component.github.com:HarperDB/harperdb-private-component.git#semver:v1.2.3" ``` Note that `deploy_component` with a package uses `npm install` so the url must be a valid npm format url. The above is an example of a url using a tag in the repo to install. diff --git a/versioned_docs/version-4.6/developers/security/jwt-auth.md b/versioned_docs/version-4.6/developers/security/jwt-auth.md index 0ea7290f..832373e4 100644 --- a/versioned_docs/version-4.6/developers/security/jwt-auth.md +++ b/versioned_docs/version-4.6/developers/security/jwt-auth.md @@ -28,7 +28,7 @@ Users must initially create tokens using their Harper credentials. The following A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --data-raw '{ "operation": "create_authentication_tokens", @@ -51,7 +51,7 @@ An example expected return object is: The `operation_token` value is used to authenticate all operations in place of our standard Basic auth. In order to pass the token you will need to create an Bearer Token Authorization Header like the following request: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDUwNjQ2MDAsInN1YiI6Im9wZXJhdGlvbiJ9.MpQA-9CMjA-mn-7mHyUXSuSC_-kqMqJXp_NDiKLFtbtMRbodCuY3DzH401rvy_4vb0yCELf0B5EapLVY1545sv80nxSl6FoZFxQaDWYXycoia6zHpiveR8hKlmA6_XTWHJbY2FM1HAFrdtt3yUTiF-ylkdNbPG7u7fRjTmHfsZ78gd2MNWIDkHoqWuFxIyqk8XydQpsjULf2Uacirt9FmHfkMZ-Jr_rRpcIEW0FZyLInbm6uxLfseFt87wA0TbZ0ofImjAuaW_3mYs-3H48CxP152UJ0jByPb0kHsk1QKP7YHWx1-Wce9NgNADfG5rfgMHANL85zvkv8sJmIGZIoSpMuU3CIqD2rgYnMY-L5dQN1fgfROrPMuAtlYCRK7r-IpjvMDQtRmCiNG45nGsM4DTzsa5GyDrkGssd5OBhl9gr9z9Bb5HQVYhSKIOiy72dK5dQNBklD4eGLMmo-u322zBITmE0lKaBcwYGJw2mmkYcrjDOmsDseU6Bf_zVUd9WF3FqwNkhg4D7nrfNSC_flalkxPHckU5EC_79cqoUIX2ogufBW5XgYbU4WfLloKcIpb51YTZlZfwBHlHPSyaq_guaXFaeCUXKq39_i1n0HRF_mRaxNru0cNDFT9Fm3eD7V8axFijSVAMDyQs_JR7SY483YDKUfN4l-vw-EVynImr4' \ --data-raw '{ @@ -68,7 +68,7 @@ curl --location --request POST 'http:/localhost:9925' \ `operation_token` expires at a set interval. Once it expires it will no longer be accepted by Harper. This duration defaults to one day, and is configurable in [harperdb-config.yaml](../../deployments/configuration). To generate a new `operation_token`, the `refresh_operation_token` operation is used, passing the `refresh_token` in the Bearer Token Authorization Header. A full cURL example can be seen here: ```bash -curl --location --request POST 'http:/localhost:9925' \ +curl --location --request POST 'http://localhost:9925' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InVzZXJuYW1lIiwiaWF0IjoxNjA0OTc4MjAwLCJleHAiOjE2MDc1NzAyMDAsInN1YiI6InJlZnJlc2gifQ.acaCsk-CJWIMLGDZdGnsthyZsJfQ8ihXLyE8mTji8PgGkpbwhs7e1O0uitMgP_pGjHq2tey1BHSwoeCL49b18WyMIB10hK-q2BXGKQkykltjTrQbg7VsdFi0h57mGfO0IqAwYd55_hzHZNnyJMh4b0iPQFDwU7iTD7x9doHhZAvzElpkWbc_NKVw5_Mw3znjntSzbuPN105zlp4Niurin-_5BnukwvoJWLEJ-ZlF6hE4wKhaMB1pWTJjMvJQJE8khTTvlUN8tGxmzoaDYoe1aCGNxmDEQnx8Y5gKzVd89sylhqi54d2nQrJ2-ElfEDsMoXpR01Ps6fNDFtLTuPTp7ixj8LvgL2nCjAg996Ga3PtdvXJAZPDYCqqvaBkZZcsiqOgqLV0vGo3VVlfrcgJXQImMYRr_Inu0FCe47A93IAWuQTs-KplM1KdGJsHSnNBV6oe6QEkROJT5qZME-8xhvBYvOXqp9Znwg39bmiBCMxk26Ce66_vw06MNgoa3D5AlXPWemfdVKPZDnj_aLVjZSs0gAfFElcVn7l9yjWJOaT2Muk26U8bJl-2BEq_DSclqKHODuYM5kkPKIdE4NFrsqsDYuGxcA25rlNETFyl0q-UXj1aoz_joy5Hdnr4mFELmjnoo4jYQuakufP9xeGPsj1skaodKl0mmoGcCD6v1F60' \ --data-raw '{ diff --git a/versioned_docs/version-4.6/getting-started/first-harper-app.md b/versioned_docs/version-4.6/getting-started/first-harper-app.md index 948e67f4..5390f98a 100644 --- a/versioned_docs/version-4.6/getting-started/first-harper-app.md +++ b/versioned_docs/version-4.6/getting-started/first-harper-app.md @@ -156,9 +156,9 @@ type Dog @table @export { Now we can start querying. Again, we just simply access the endpoint with query parameters (basic GET requests), like: ``` -http:/localhost:9926/Dog/?name=Harper -http:/localhost:9926/Dog/?breed=Labrador -http:/localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) +http://localhost:9926/Dog/?name=Harper +http://localhost:9926/Dog/?breed=Labrador +http://localhost:9926/Dog/?breed=Husky&name=Balto&select(id,name,breed) ``` Congratulations, you now have created a secure database application backend with a table, a well-defined structure, access controls, and a functional REST endpoint with query capabilities! See the [REST documentation for more information on HTTP access](../developers/rest) and see the [Schema reference](../developers/applications/defining-schemas) for more options for defining schemas. diff --git a/versioned_docs/version-4.6/getting-started/install-harper.md b/versioned_docs/version-4.6/getting-started/install-harper.md index 8786d674..114471e8 100644 --- a/versioned_docs/version-4.6/getting-started/install-harper.md +++ b/versioned_docs/version-4.6/getting-started/install-harper.md @@ -59,7 +59,7 @@ These defaults allow you to quickly start an instance, though you can customize Containers created from this image store all data and Harper configuration at `/home/harperdb/hdb`. To ensure that your data persists beyond the lifecycle of a container, you should mount this directory to a directory on the container host using a Docker volume. This ensures that your database remains available and your settings are not lost when the container is stopped or removed. :::info -Test your Harper instance is up and running by querying `curl http:/localhost:9925/health` +Test your Harper instance is up and running by querying `curl http://localhost:9925/health` ::: ### Example Deployments @@ -123,7 +123,7 @@ If you want to inspect the logs to ensure that Harper has started correctly, use docker logs ``` -Once verified, you can access your Harper instance by opening your web browser and navigating to http:/localhost:9925 (or the appropriate port based on your configuration). +Once verified, you can access your Harper instance by opening your web browser and navigating to [http://localhost:9925](http://localhost:9925) (or the appropriate port based on your configuration). ### Raw binary installation diff --git a/versioned_docs/version-4.6/technical-details/reference/analytics.md b/versioned_docs/version-4.6/technical-details/reference/analytics.md index 4ee7fdb7..0ab51c67 100644 --- a/versioned_docs/version-4.6/technical-details/reference/analytics.md +++ b/versioned_docs/version-4.6/technical-details/reference/analytics.md @@ -11,7 +11,7 @@ Harper collects statistics for all operations, URL endpoints, and messaging topi There are two "levels" of analytics in the Harper analytics table: the first is the immediate level of raw direct logging of real-time statistics. These analytics entries are recorded once a second (when there is activity) by each thread, and include all recorded activity in the last second, along with system resource information. The records have a primary key that is the timestamp in milliseconds since epoch. This can be queried (with `superuser` permission) using the search_by_conditions operation (this will search for 10 seconds worth of analytics) on the `hdb_raw_analytics` table: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { @@ -69,7 +69,7 @@ And a typical response looks like: The second level of analytics recording is aggregate data. The aggregate records are recorded once a minute, and aggregate the results from all the per-second entries from all the threads, creating a summary of statistics once a minute. The ids for these milliseconds since epoch can be queried from the `hdb_analytics` table. You can query these with an operation like: ``` -POST http:/localhost:9925 +POST http://localhost:9925 Content-Type: application/json { diff --git a/versioned_docs/version-4.6/technical-details/reference/components/applications.md b/versioned_docs/version-4.6/technical-details/reference/components/applications.md index 6b37592a..28cdcdcf 100644 --- a/versioned_docs/version-4.6/technical-details/reference/components/applications.md +++ b/versioned_docs/version-4.6/technical-details/reference/components/applications.md @@ -109,7 +109,7 @@ Furthermore, the `package` field can be set to any valid [npm dependency value]( - For applications deployed to npm, specify the package name: `package="@harperdb/status-check"` - For applications on GitHub, specify the URL: `package="https://github.com/HarperDB/status-check"`, or the shorthand `package=HarperDB/status-check` -- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh:/git@github.com:HarperDB/secret-applications.git"` +- Private repositories also work if the correct SSH keys are on the server: `package="git+ssh://git@github.com:HarperDB/secret-applications.git"` - Reference the [SSH Key](../../../developers/operations-api/components#add-ssh-key) operations for more information on managing SSH keys on a remote instance - Even tarball URLs are supported: `package="https://example.com/application.tar.gz"` @@ -164,8 +164,8 @@ Harper will generate a `package.json` like: "dependencies": { "myGithubComponent": "github:HarperDB-Add-Ons/package#v2.2.0", "myNPMComponent": "npm:harperdb", - "myTarBall": "file:/Users/harper/cool-component.tar", - "myLocal": "file:/Users/harper/local", + "myTarBall": "file://Users/harper/cool-component.tar", + "myLocal": "file://Users/harper/local", "myWebsite": "https://harperdb-component" } } @@ -177,7 +177,7 @@ The package prefix is automatically added, however you can manually set it in yo ```yaml myCoolComponent: - package: file:/Users/harper/cool-component.tar + package: file://Users/harper/cool-component.tar ``` By specifying a file path, npm will generate a symlink and then changes will be automatically picked up between restarts.