Skip to content

Commit 078660e

Browse files
committedNov 1, 2016
fixed typos
1 parent 5eb4e32 commit 078660e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed
 

‎content/ch4-ecosystem.tex

+1-1
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,7 @@ \section{Rate Limiting}
241241

242242
Rate limiting is a feature which can be implemented in an API to prevent Consumers from making diminishing Server stability by making too many requests. Consumers can be given a limit on the number of requests they make. This limit could be per-Consumer, per-User-per-Consumer, or whatever you decide. If limits are per-Consumer, depending on how much your Server trusts the Consumer, the limits could be higher. Some services even offer a subscription fee for increasing this limit.
243243

244-
If your API makes use of rate limits, be sure information about the limit can be accesses programmatically. The following is an example of how GitHub conveys rate limit information to third parties with the introduction of \texttt{X-RateLimit} headers. The \texttt{-Limit} header represents the total limit per period of time, \texttt{-Remaining} is how many requests remain to be made during this period of time, and \texttt{-Reset} is a timestamp for when the period resets.
244+
If your API makes use of rate limits, be sure information about the limit can be accessed programmatically. The following is an example of how GitHub conveys rate limit information to third parties with the introduction of \texttt{X-RateLimit} headers. The \texttt{-Limit} header represents the total limit per period of time, \texttt{-Remaining} is how many requests remain to be made during this period of time, and \texttt{-Reset} is a timestamp for when the period resets.
245245

246246
\begin{verbatim}
247247
HTTP/1.1 403 Forbidden

‎content/ch5-standards.tex

+3-3
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ \section{Hypermedia API's}
2020

2121
Imagine a tool on the internet that you want to use. It could be Google Calendar, or Meetup, or Facebook Events. Also imagine that you want to use other tools too, like email or instant messengers. Normally, integrations between tools are only convenient if you're using a massive suite of tools, such as what is offered by Microsoft or Google. As an example, Google Mail integrates very tightly with Google Calendar and Google+ to provide a seamless user experience.
2222

23-
Now, imagine that these disparate tools by different companies can work with each other as tightly as these massive suites of tools. Often times when a company builds a single product it is better than the equivalent component of a larger suite. This combination of specific, well-built tools working seamlessly with other services becomes the best of both worlds! The process could theoretically work automatically, with the different services discovering each other and configuring themselves to play nicely. This is a future offered by hypermedia-based APIs.
23+
Now, imagine that these disparate tools by different companies can work with each other as tightly as these massive suites of tools. Often times when a company builds a single product it is better than the equivalent component of a larger suite. This combination of specific, well-built tools working seamlessly with other services becomes the best of both worlds! The process could theoretically work automatically, with the different services discovering each other and configuring themselves to play nicely. This is a feature offered by hypermedia-based APIs.
2424

2525
\subsection{ATOM: An Early Hypermedia API}
2626

@@ -64,7 +64,7 @@ \section{Response Document Standards}
6464

6565
\subsection{JSON Schema}
6666

67-
\href{http://json-schema.org/}{JSON Schema} \cite{JSONSCHEMA} provides a method for describing the attributes provided by a API endpoints. This description is written in JSON in such a way as to be both human-readable and easy to work with programmatically. Using JSON Schema, a Consumer could easily automate data validation and generation of CRUD forms.
67+
\href{http://json-schema.org/}{JSON Schema} \cite{JSONSCHEMA} provides a method for describing the attributes provided by an API endpoint. This description is written in JSON in such a way as to be both human-readable and easy to work with programmatically. Using JSON Schema, a Consumer could easily automate data validation and generation of CRUD forms.
6868

6969
\subsubsection{Example JSON Schema Document}
7070

@@ -93,7 +93,7 @@ \subsection{JSON API}
9393

9494
The \href{http://jsonapi.org/}{JSON API} \cite{JSONAPI} spec provided a standardized format for structuring response documents by introducing some reserved attributes which have special meaning (e.g. \texttt{id} must be used for identifying a resource, a convention we've been otherwise following).
9595

96-
An notable feature of JSON API is that is also provides a method for returning not only a requested resource but also other resources which it depends on, as if anticipating the Consumers next request(s).
96+
An notable feature of JSON API is that it also provides a method for returning not only a requested resource but also other resources which it depends on, as if anticipating the Consumers next request(s).
9797

9898
\subsubsection{Example JSON API Document}
9999

0 commit comments

Comments
 (0)
Please sign in to comment.