tag:blogger.com,1999:blog-11096567618640785142024-02-24T08:09:14.547-08:00Online TutorialsBlogshttp://www.blogger.com/profile/09073006845310867470noreply@blogger.comBlogger378125tag:blogger.com,1999:blog-1109656761864078514.post-90122846655775596252023-05-28T08:09:00.005-07:002023-05-28T08:09:20.961-07:00Operating System Interview Questions<br /><h1 style="text-align: center;">Operating System Interview Questions</h1> <br /><h3 style="text-align: left;">What is Operating System?</h3>The operating system is a software program that facilitates computer hardware to communicate and operate with the software applications and it acts as an interface between the user and the computer hardware. It is the most important part of a computer system without it computer is just like a box.<br /><br /><h3 style="text-align: left;">What is Deadlock?</h3>Deadlock is a situation when two or more processes wait for each other to finish and none of them ever finish. Consider an example when two trains are coming toward each other on same track and there is only one track, none of the trains can move once they are in front of each other. Similar situation occurs in operating systems when there are two or more processes hold some resources and wait for resources held by other(s).<br /><br /><h3 style="text-align: left;">What is Time-sharing system?</h3><br />In a Time-sharing system, the CPU executes multiple jobs by switching among them, also known as multitasking. This process happens so fast that users can interact with each program while it is running.<br /><br /><h3 style="text-align: left;">Define Thoroughput.</h3>Throughput – number of processes that complete their execution per time unit. Turnaround time – amount of time to execute a particular process. Waiting time – amount of time a process has been waiting in the ready queue. Response time – amount of time it takes from when a request was submitted until the first response is produced, not output (for time-sharing environment).<br /><br /><h3 style="text-align: left;">What are the functions of operating system?</h3>The operating system controls and coordinates the use of hardware among the different processes and applications. It provides the various functionalities to the users. The following are the main job of operating system.<br /><br />– Resource utilization<br />– Resource allocation<br />– Process management<br />– Memory management<br />– File management<br />– I/O management<br />– Device management<br /><br /><br /><h3 style="text-align: left;">What Are Real-time Systems?</h3>Real-time systems are used when rigid time requirements have been placed on the operation of a processor. It has well defined and fixed time constraints.<br /><br /><h3 style="text-align: left;">Explain the concept of Reentrancy?</h3>It is a useful, memory-saving technique for multiprogrammed timesharing systems. A Reentrant Procedure is one in which multiple users can share a single copy of a program during the same period. Reentrancy has 2 key aspects: The program code cannot modify itself, and the local data for each user process must be stored separately. Thus, the permanent part is the code, and the temporary part is the pointer back to the calling program and local variables used by that program. Each execution instance is called activation. It executes the code in the permanent part, but has its own copy of local variables/parameters. The temporary part associated with each activation is the activation record. Generally, the activation record is kept on the stack.<br />Note: A reentrant procedure can be interrupted and called by an interrupting program, and still execute correctly on returning to the procedure.<br /><br /><br /><h3 style="text-align: left;">What is multi-programming, and what are the advantages?</h3>A multiprogramming operating system is one that allows a process where multiple programs execute over one CPU. If your interviewer asks OS questions on multiprogramming, you can highlight key differences between a multiprogramming OS and other systems.<br /><br />One way to display that you understand the benefits of multi-programming is to use a real-life example. By offering an instance when you used multi-programming to receive such benefits, you are displaying hands-on knowledge of a system that might be important to the interviewer.<br /><h3 style="text-align: left;"><br /></h3><h3 style="text-align: left;">What is virtual memory?</h3>Virtual memory is a memory management method that helps to execute the process using the primary and secondary memory. Though the program gets executed using the main memory, the resources and pages load from the secondary memory.<br /><br /><br /><b>What is Thrashing?</b><br /><br />Thrashing is a situation when the performance of a computer degrades or collapses. Thrashing occurs when a system spends more time processing page faults than executing transactions. While processing page faults is necessary to in order to appreciate the benefits of virtual memory, thrashing has a negative affect on the system. As the page fault rate increases, more transactions need processing from the paging device. The queue at the paging device increases, resulting in increased service time for a page fault.<br /><br /><br /><b>What is the difference between micro kernel and macro kernel?</b><br /><br />Micro kernel: micro kernel is the kernel which runs minimal performance affecting services for operating system. In micro kernel operating system all other operations are performed by processor.<br /><br />Macro Kernel: Macro Kernel is a combination of micro and monolithic kernel.<br /><br /><br />Enumerate the different RAID levels.<br /><br /><br /><br />RAID 0 – Non-redundant striping<br />RAID 1 – Mirrored Disks<br />RAID 2 – Memory-style error-correcting codes<br />RAID 3 – Bit-interleaved Parity<br />RAID 4 – Block-interleaved Parity<br />RAID 5 – Block-interleaved distributed Parity<br />RAID 6 – P+Q Redundancy<br /><br /><br /><b>Is it possible to have a deadlock involving only one process? Explain your answer.<br /></b><br />Deadlock with one process is not possible. Here is the explanation. A deadlock situation can arise if the following four conditions hold simultaneously in a system.Mutual Exclusion.<br />Hold and Wait.<br />No Preemption.<br />Circular-wait.It is not possible to have circular wait with only one process, thus failing a necessary condition for Circular wait. There is no second process to form a circle with the first one. So it is not possible to have a deadlock involving only one process.<br /><br /><br /><b>How Are Server Systems Classified?<br /></b><br />Server systems can be classified as either computer-server systems or file server systems. In the first case, an interface is made available for clients to send requests to perform an action. In the second case, provisions are available for clients to create, access and update files.<br /><br /><br /><b>List the Coffman’s conditions that lead to a deadlock.<br /></b><br />Mutual Exclusion: Only one process may use a critical resource at a time.<br />Hold & Wait: A process may be allocated some resources while waiting for others.<br />No Pre-emption: No resource can be forcible removed from a process holding it.<br />Circular Wait: A closed chain of processes exist such that each process holds at least one resource needed by another process in the chain.<br /><br /><br /><b>Describe how to boot an operating system.<br /></b><br />The word “boot” is short for “bootstrap,” which is the name of the program that prompts the operating system at startup. Booting occurs when you start a computer from the kernel. This usually happens when you start it for the first time. It may also occur when the computer malfunctions and you have to put it in safe mode or reboot it as though it were a new CPU.<br /><br />Booting an operating system is an essential function that applies to many varied work environments. If you have a workplace with computers, it’s highly likely you will have to boot new and existing computers as an IT professional. The answer to this question offers the interviewer a read on your fundamental skills with regards to operating systems.<br /><br /><br /><b>What is demanding Paging?<br /></b><br />Demanding pages is a concept used by the virtual machine. Only a part of the process needs to be present in the main memory to execute some process, which means that only a few pages will only be present in the main memory at any time, and rest will be kept in the secondary memory.<br /><br /><br /><b>What is Banker’s algorithm?<br /></b><br />Banker’s algorithm is used to avoid deadlock. It is the one of deadlock-avoidance method. It is named as Banker’s algorithm on the banking system where bank never allocates available cash in such a manner that it can no longer satisfy the requirements of all of its customers.<br /><br /><br /><b>Give an example of a Process State.<br /></b><br />New State – means a process is being created<br />Running – means instructions are being executed<br />Waiting – means a process is waiting for certain conditions or events to occur<br />Ready – means a process is waiting for an instruction from the main processor<br />Terminate – means a process is stopped abruptly<br /><br /><br /><b>What is a pipe?<br /></b><br />A traditional pipe is unnamed and can be used only for the communication of related process. If unrelated processes are required to communicate – named pipes are required.<br />It is a pipe whose access point is a file available on the file system. When this file is opened for reading, a process is granted access to the reading end of the pipe. Similarly, when the file is opened for writing, the process is granted access to writing end of the pipe.<br />A named pipe is also referred to as FIFO or named FIFO.<br /><br /><br /><b>Explain the main purpose of an operating system?<br /></b><br />There are two main purposes of Operating systems :One is that it is designed to make sure a computer system performs well by managing its computational activities.<br />Another is that it provides an environment for the development and execution of programs.<br /><br /><br /><b>What are the advantages of a multiprocessor system?<br /></b><br />With an increased number of processors, there is a considerable increase in throughput. It can also save more money because they can share resources. Finally, overall reliability is increased as well.<br /><br /><b>What is kernel?<br /></b><br />A kernel is the core of every operating system. It connects applications to the actual processing of data. It also manages all communications between software and hardware components to ensure usability and reliability.<br /><br /><h3 style="text-align: left;">What are real-time systems?</h3>Real-time systems are used when rigid time requirements have been placed on the operation of a processor. It has well defined and fixed time constraints.<br /><br /><h3 style="text-align: left;">What do you mean by a process?</h3>An executing program is known as a process. There are two types of processes:Operating System Processes<br />User Processes<br /><h3 style="text-align: left;">What is time- sharing system?</h3>In a Time-sharing system, the CPU executes multiple jobs by switching among them, also known as multitasking. This process happens so fast that users can interact with each program while it is running.<br /><h3 style="text-align: left;">What are the different states of a process?</h3>New Process<br />Running Process<br />Waiting Process<br />Ready Process<br />Terminated Process<br /><br /><br /><h3 style="text-align: left;">What is the difference between process and program?</h3><br />ProgramProcess<br />Program is a set of instructions written to complete a task. Process is a program in execution.<br />Program is a passive/static entity. Process is an active/dynamic entity.<br />Program resides in secondary memory. A process in execution resides in Primary Memory.<br />Program has a longer life span. A process has a limited life span.<br />A program only requires memory space to store itself. Process needs execution time in CPU, I/O requirements, shared resources, files, memory addresses and more.<br />It has no significant overhead. Has a significant overhead.<div><br /><h3 style="text-align: left;">What is the basic difference between pre-emptive and non-preemptive scheduling?</h3>Pre-Emptive SchedulingNon Pre-Emptive Scheduling<br />CPU allocation is for a limited time. CPU allocation until the process is complete.<br />Execution of the process is interrupted in the middle. Execution of the process remains uninterrupted until it is completed.<br />The concept bears an overhead of switching between the tasks. No such overhead of switching between the tasks.<br />If the CPU receives continuous high priority tasks, a process may remain in the waiting state indefinitely. If the CPU is processing a program with the largest burst time, even a program with the smallest burst time may have to starve.<br />It allows flexibility to the processes which are in the waiting state allowing the high priority tasks to be executed first. This approach is also known as the rigid scheduling as it offers no flexibility to the processes irrespective of their urgency for execution.<br />Pre emptive scheduling needs to maintain the integrity of the shared data and to ensure no data loss occurs when processes are swapped from the waiting state to the ready state. The Non- pre-emptive Scheduling does not require to maintain data integrity as no processes are swapped from the waiting state to the ready state.<br /><br /><h3 style="text-align: left;">What are the deadlock avoidance algorithms?</h3><br />A dead lock avoidance algorithm dynamically examines the resource-allocation state to ensure that a circular wait condition can never exist. The resource allocation state is defined by the number of available and allocated resources, and the maximum demand of the process. There are two algorithms:Resource allocation graph algorithm<br />Banker’s algorithmSafety algorithm<br />Resource request algorithm<br /><br /><br /><h3 style="text-align: left;">What is CPU Scheduler?</h3>Selects from among the processes in memory that are ready to execute, and allocates the CPU to one of them. CPU scheduling decisions may take place when a process:Switches from running to waiting state.<br />Switches from running to ready state.<br />Switches from waiting to ready.<br />Terminates.<br /><br /><h3 style="text-align: left;">What is Dispatcher?</h3><br />Dispatcher module gives control of the CPU to the process selected by the short-term scheduler; this involves:Switching context<br />Switching to user mode<br />Jumping to the proper location in the user program to restart that program<br />Dispatch latency – time it takes for the dispatcher to stop one process and start another running.<br /><br /><h3 style="text-align: left;">Which are the necessary conditions to achieve a deadlock?</h3>There are 4 necessary conditions to achieve a deadlock:Mutual Exclusion: At least one resource must be held in a non-sharable mode. If any other process requests this resource, then that process must wait for the resource to be released.<br />Hold and Wait: A process must be simultaneously holding at least one resource and waiting for at least one resource that is currently being held by some other process.<br />No preemption: Once a process is holding a resource ( i.e. once its request has been granted ), then that resource cannot be taken away from that process until the process voluntarily releases it.<br />Circular Wait: A set of processes { P0, P1, P2, . . ., PN } must exist such that every P[ i ] is waiting for P[ ( i + 1 ) % ( N + 1 ) ].<br /><h3 style="text-align: left;">How many types of fragmentation occur in Operating System?</h3>There are two types of fragmentation:Internal fragmentation: It is occurred when we deal with the systems that have fixed size allocation units.<br />External fragmentation: It is occurred when we deal with systems that have variable-size allocation units.<br /><br /><h3 style="text-align: left;">What is Memory-Management Unit (MMU)?</h3><br />Hardware device that maps virtual to physical address. In MMU scheme, the value in the relocation register is added to every address generated by a user process at the time it is sent to memory. The user program deals with logical addresses; it never sees the real physical addresses<br /><br /><h2 style="text-align: center;">Advanced OS Interview Questions</h2><br /><h3 style="text-align: left;">Explain the different sections of a process.</h3><br />Every process has a process memory, which is generally divided into 4, this is done to make the most efficient functioning as possible –Stack – This houses all the temporary data and local variables like function parameters and addresses.<br />Heap – When the process is in its run time, for dynamic memory allocation, for operations such as new(), delete(), malloc(), etc heap is used for fastest access at the run time.<br />Text – Contains value of Program Counter and the contents of the processor’s registers which just the most low level instructions of the compiled program<br />Data – Has static and global variables.<br /><br /><br /><h3 style="text-align: left;">What are the different types of scheduling algorithms?</h3>This is the advanced OS Interview Questions which is asked in an interview. The different types of scheduling algorithms are as follows:First come First serve(FCFS): First came process is served first.<br />Round Robin(RR): Each process is given a quantum amount of time.<br />Shortest job first(SJF): Process with lowest execution time is given first preference.<br />Priority scheduling (PS): Priority value called (nice value) is used for selecting process. Its value is from 0 to 99. 0 being maxed and 99 being least.<br /><br /><h3 style="text-align: left;">What are the difference between user level thread and kernel level thread?</h3>User-Level ThreadsMulti-Threaded Model<br />User Threads are implemented by users. Kernel Threads are implemented by OS.<br />OS does not recognize user level threads. Kernel threads are recognized by OS.<br />Implemetation is easy. Implementation is complicated.<br />Context switch time is less. Context switch time is more.<br />Context switch-no hardware support. Hardware support is needed.<br />If one user level thread perform blocking operation then entire process will be blocked. If one kernel thread perform blocking operation then another thread can continue execution.<br /><br /><h3 style="text-align: left;">What is synchronization? What are the different synchronization mechanisms?</h3>When several threads (or processes) share data, running in parallel on different cores, then changes made by one process may override changes made by another process running parallel. Resulting in inconsistent data. So, this requires processes to be synchronized, handling system resources and processes to avoid such situation is known as Process Synchronization.<br /><br />Different synchronization mechanisms are: Mutex<br />Semaphores<br />Monitors<br />Condition variables<br />Critical regions<br />Read/ Write locks<br /><br /><h3 style="text-align: left;">What is the use of paging in operating system?</h3>Paging is a memory-management scheme that permits the physical address space of a process to be non contiguous or in other words eliminates the need for contiguous allocation of physical memory.That is we can have logically use memory spaces that physically lie at different locations in the memory.<br />This allows viewing memory spaces that physically lie at different locations in the hardware to be logically viewed as contiguous.<br /><br /><h3 style="text-align: left;">What is the Zombie process?</h3>A zombie process is a process that has completed and in the terminated state but has its entry in the process table. It shows that the resources are held by the process and are not free.<br /><h3 style="text-align: left;">When does the Belady’s anomaly occur?</h3>In the Virtual memory system, all the processes are divided into fixed-sized pages. These pages are loaded into the physical memory using the method of demand paging. Under demand paging, during the execution of a particular process, whenever a page is required, a page fault occurs, and then the required page gets loaded into the memory replacing some other page. The page replacement algorithm specifies the choice of the page which is to be replaced.<a href="https://prepinsta.com/operating-systems/beladys-anomaly/"> Now, Belady’s Anomaly is said to occur when the number of page faults increases significantly.</a><br /><br /><br /><h3 style="text-align: left;">What is the basic difference between Segmentation and Paging?</h3><br />PagingSegmentation<br />A page is a physical unit of information. A segment is a logical unit of information.<br />Frames on main memory are required. No frames are required.<br />No frames are required. The page is of the variable block size<br />It leads to internal fragmentation It leads to external fragmentation<br />The page size is decided by hardware in paging Segment size is decided by the user in segmentation<br />It does not allow logical partitioning and protection of application components It allows logical partitioning and protection of application components<br />Paging involves a page table that contains the base address of each page Segmentation involves the segment table that contains the segment number and offset<br /><br /><h3 style="text-align: left;">What are the different types of Kernel?</h3><br />Kernels are basically of two types:<a href="https://prepinsta.com/operating-systems/threads/">Monolithic Kernels </a>–In this architecture of kernel, all the system services were packaged into a single system module which lead to poor maintainability and huge size of kernel.<br /><a href="https://prepinsta.com/operating-systems/threads/">Microkernels</a> – They follow the modular approach of architecture. Maintainability became easier with this model as only the concerned module is to be altered and loaded for every function. This model also keeps a tab on the ever growing code size of the kernel.<br /><br /><br /><h3 style="text-align: left;">What is Starvation?</h3><br />If the CPU gets the processes of the higher burst time at the front end of the ready queue then the processes of lower burst time may get blocked which means they may never get the CPU if the job in the execution has a very high burst time. This is called convoy effect or starvation.In starvation resources are continuously utilized by high priority processes. Problem of starvation can be resolved using Aging.<br />In Aging priority of long waiting processes is gradually increased.<br /><br /><h3 style="text-align: left;">What is a safe state and what is its use of deadlock avoidance?</h3>A state is safe if the system can allocate all resources requested by all processes ( up to their stated maximums ) without entering a deadlock state. System is in safe state if there exists a safe sequence of all processes. Deadlock Avoidance: Ensure that a system will never enter an unsafe state.<br /><br /><h3 style="text-align: left;">What are turn around time and response time?</h3>The basic difference b/w the turn around time and response time is:-Turn around time is the interval between the submission of a job and its completion.<br />Response time is the interval b/w the submission of the request, and the first response to that request.<br /><h3 style="text-align: left;">What are the reasons for process suspension?</h3>Swapping<br />Interactive User Request<br />Timing<br />Parent Process Reques<br /><br /><h3 style="text-align: left;">What are various scheduling queues?</h3>Given below are the scheduling queues:-Job Queue:- When a process enters the system it is placed in the job queue.<br />Ready Queue:- The processes that are residing in the main memory and are ready and waiting to execute are kept on a list called the ready queue.<br />Device Queue:- A list of processes waiting for a particular I/O device is called device queue.<div><br /></div><div><br /></div></div>swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-46069827205493235792023-01-03T09:12:00.001-08:002023-01-03T09:12:48.380-08:00Ruby On Rails Objective type Questions and Answers for experienced<br /><br /> 1. What is bundler?a) rails generate scaffold User name:string email:string<br />b) self-contained bundles of gems. Useful for versioning.<br />c) Edit Gemfile, then run ‘bundle install’ or just ‘bundle’.<br />d) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />Ans: C<br /><br />2. What is gemset?<br />a) self-contained bundles of gems. Useful for versioning.<br />b) self-contained packages of Ruby code<br />c) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />d) rails generate scaffold User name:string email:string<br />Ans: A<br /><br /><br /><br /><br />3. What is gem?<br />a) rails generate scaffold User name:string email:string<br />b) self-contained packages of Ruby code<br />c) self-contained bundles of gems. Useful for versioning.<br />d) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />Ans: B<br /><br />4. what is scaffold command?<br />a) rails generate scaffold User name:string email:string<br />b) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />c) self-contained packages of Ruby code<br />d) self-contained bundles of gems. Useful for versioning.<br />Ans: A<br /><br />5. What is rake?<br />a) self-contained bundles of gems. Useful for versioning.<br />b) bundle exec rake db:migrate. Using bundle exec ensures that the rake version in our Gemfile is used.<br />c) rails generate scaffold User name:string email:string<br />d) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />Ans: B<br /><br />6. What is rvm?<br />a) rails generate scaffold User name:string email:string<br />b) Ruby Version Manager. Install and manage multiple versions of Ruby.<br />c) self-contained bundles of gems. Useful for versioning.<br />d) self-contained packages of Ruby code<br />Ans: B<br /><br />7.how do you create a migration that adds a “phone” field to the “tickets” table?<br />a) unit, functional, and integration tests<br />b) RAILS_ENV (RAILS_ENV=production)<br />c) integration test<br />d) rails generate migration AddPhoneToTickets phone:string<br />Ans: D<br /><br />8.Rails’ application framework is called ———-?<br />a) ActionPack<br />b) ActiveRecord<br />c) a web page<br />d) an object<br />Ans: A<br /><br />9.how do you run a migration?<br />a) CamelCase<br />b) ruby make<br />c) an object<br />d) rake db:migrate<br />Ans: D<br /><br />10.what does “show” refer to as the :action value?<br />a) the method within the controller to call<br />b) HTTP methods (post, get, put, delete)<br />c) the data being presented by the web page<br />d) their names begin with an underscore<br />Ans: A<br /><br />11.how do you update?<br />a) update_attributes (as in @ad.update_attributes(params[:ad]))<br />b) unit, functional, and integration tests<br />c) format (that period is a concatenation period)<br />d) it is not associated with a model<br />Ans: A<br /><br />12.what comes after <% form_for()... ?<br />a) redirect_to " ... "<br />b) the request parameters table<br />c) <%= f.text_field :name %><br />d) do |f| (where “f” can be anything)<br />Ans: D<br /><br />13.what kind of tests are there?<br />a) unit, functional, and integration tests<br />b) it is not associated with a model<br />c) id, created_at, updated_at<br />d) it runs its validators<br />Ans: A<br /><br />14.how do you specify a format like html or xml in routes.rb?<br />a) .:format (that period is a concatenation period)<br />b) HTTP methods (post, get, put, delete)<br />c) their names begin with an underscore<br />d) unit, functional, and integration tests<br />Ans: A<br /><br />15.when you put something into an array, does the array keep a separate copy?<br />a) no. arrays just keep references to objects stored in memory.<br />b) the data being presented by the web page<br />c) it is not associated with a model<br />d) the request parameters table<br />Ans: A<br /><br />16.what is scriptlet versus expression<br />a) it runs its validators<br />b) it is not associated with a model<br />c) Representational State Transfer<br />d) expression is ruby code that prints out a value in html<br />Ans: D<br /><br />17.what does the “h” in <%=h ... %> mean?<br />a) .:format (that period is a concatenation period)<br />b) h is a helper method that escapes special characters to sanitize malicious input<br />c) a script that alters the structure of the underlying database<br />d) the method within the controller to call<br />Ans: B<br /><br />18.what’s the difference between model names and controller names?<br />a) the method within the controller to call<br />b) the data being presented by the web page<br />c) model names are singular, controller (and table) names are plural<br />d) in the controller: respond_to do |format| … end<br />Ans: C<br /><br />19.what is “migration”?<br />a) It is a format (that period is a concatenation period)<br />b) a script that alters the structure of the underlying database<br />c) their names begin with an underscore<br />d) the data being presented by the web page<br />Ans: B<br /><br />20.what steps get you from fild.erb to file.html?<br />a) data from model objects AND the page template<br />b) .erb -> Embedded Ruby -> ruby code (file.rb) -> fild.html<br />c) the method within the controller to call<br />d) the data being presented by the web page<br />Ans: B<br /><br />21.what is the filter code that calls on the “check_logged_in” method for only the “edit” and “update” methods?<br />a) the data being presented by the web page<br />b) HTTP methods (post, get, put, delete)<br />c) data from model objects AND the page template<br />d) before_filter :check_logged_in, :only => [:edit, :update]<br />Ans: D<br /><br />22.representation of a resource is called ————-.<br />a) CamelCase<br />b) ruby make<br />c) a web page<br />d) ActionPack<br />Ans: C<br /><br />23.converts database records to objects is called ————-.<br />a) for ad in @ads<br />b) integration test<br />c) Representational State Transfer<br />d) an object-relational mapping library<br />Ans: D<br /><br />24.what checks if an input is numeric?<br />a) integration test<br />b) a responder object<br />c) validate<br />d) validates_numericality_of<br />Ans: D<br /><br />25.what is Rails’ object-relational mapping library?<br />a) CamelCase<br />b) ActiveRecord<br />c) an object<br />d) underscores<br />Ans: B<br /><br />26.where do you add the filter code?<br />a) rails generate migration AddPhoneToTickets phone:string<br />b) the data being presented by the web page<br />c) data from model objects AND the page template<br />d) right after the line introducing the class in the controller<br />Ans: D<br /><br />27.why is it good to redirect after inserting info into the database?<br />a) unit, functional, and integration tests<br />b) a script that alters the structure of the underlying database<br />c) so that users can’t accidentally resubmit information by refreshing the page<br />d) the data being presented by the web page<br />Ans: C<br /><br />28.which two steps to include test.xml data to the partial “map” (via the variable “data”)…?<br />a) from general to specific (‘/ads/’ and then ‘/ads/:id’)<br />b) include test.xml to root of “public” folder and , render (:partial=>’map’, :locals=>{:data=>’/test.xml’})<br />c) just replace the word “scaffold” with the word “model”<br />d) login method (that checks a username and password) and , a filter (that calls the login method when needed)<br />Ans: B<br /><br />29.what environments does Rails have by default?<br />a) development, test, production<br />b) render :partial<br />c) RAILS_ENV (RAILS_ENV=production)<br />d) integration test<br />Ans:A<br /><br />30.how do you generate regular model code (not scaffolding)?<br />a) just replace the word “scaffold” with the word “model”<br />b) it is not associated with a model<br />c) username == “admin” && password == “some_password”<br />d) do |f| (where “f” can be anything)<br />Ans: A<br /><br />31.how should you order routes?<br />a) just replace the word “scaffold” with the word “model”<br />b) from general to specific (‘/ads/’ and then ‘/ads/:id’)<br />c) rails generate migration AddPhoneToTickets phone:string<br />d) do |f| (where “f” can be anything)<br />Ans: B<br /><br />32.what should you write in routes.rb to give meaning to http://mebay.com/ads/3?<br />a) from general to specific (‘/ads/’ and then ‘/ads/:id’)<br />b) map.connect ‘/ads/:id’, :controller=>’ads’, :action=>’show’<br />c) include test.xml to root of “public” folder and ,render (:partial=>’map’, :locals=>{:data=>’/test.xml’})<br />d) form_for(@object, :url=>{:action=>’create’})<br />Ans: B<br /><br />33.to add login security, which two pieces of code do you need?<br />a) 1.all important data is a resource2. every resource has a proper name (URL)<br />b) .:format (that period is a concatenation period)<br />c) the method within the controller to call<br />d) 1. login method (that checks a username and password) and 2. a filter (that calls the login method when needed)<br />Ans: D<br /><br />34.how do partials look compared to regular erb files?<br />a) underscores<br />b) it runs its validators<br />c) it is not associated with a model<br />d) their names begin with an underscore<br />Ans: D<br /><br />35.how does “rake” differ from “ruby”?<br />a) right after the line introducing the class in the controller<br />b) a script that alters the structure of the underlying database<br />c) it can do more complex things like modifying the database structure and running tests<br />d) expression is ruby code that prints out a value in html<br />Ans: C<br /><br />36.why should partials generally use local variables?<br />a) because they make the partial less dependent on other code<br />b) the data being presented by the web page<br />c) their names begin with an underscore<br />d) the request parameters table<br />Ans: A<br /><br />37.do models have singular or plural names?<br />a) controller<br />b) CamelCase<br />c) flight_id<br />d) singular<br />Ans: D<br /><br />38.how does rake tell which migrations have been run and which have not?<br />a) rails generate migration AddPhoneToTickets phone:string<br />b) rails records the latest timestamp of all the migrations it runs (and runs only the latest ones)<br />c) because they make the partial less dependent on other code<br />d) it can do more complex things like modifying the database structure and running tests<br />Ans: B<br /><br />39.how does Rails choose to correct format to generate?<br />a) in the controller: respond_to do |format| … end<br />b) it is not associated with a model<br />c) redirect_to ” … ”<br />d) the data being presented by the web page<br />Ans: A<br /><br />40.how do you express error messages in a form (do |f|)?<br />a) ruby make<br />b) f.error_messages<br />c) for ad in @ads<br />d) underscores<br />Ans: B<br /><br />41.what are the three “magic columns”<br />a) id, created_at, updated_at<br />b) render :partial:id<br />c) integration test<br />d) rake db:migrate:id:delete<br />Ans: A<br /><br />42.what tag starts a form?<br />a) integration test<br />b) <%= f.text_field :name %><br />c) <% form_for() %><br />d) <%= yield %><br />Ans: C<br /><br />43.what is params[…]?<br />a) have the same URL of a table<br />b) the word “private”<br />c) a responder object<br />d) the request parameters table<br />Ans: D<br /><br />44.what comes after “def check_logged_in” line for site “ads”?<br />a) in the controller: respond_to do |format| … end<br />b) errors.add_to_base(“there was an error”)<br />c) .:format (that period is a concatenation period)<br />d) authenticate_or_request_with_http_basic(“Ads”) do |username, password|<br />Ans: D<br /><br />45.what is naming convention for classes?<br />a) ActionPack<br />b) CamelCase<br />c) ruby make<br />d) a web page<br />Ans: B<br /><br />46.to create scafolding for “thing” data, run…<br />a) because they make the partial less dependent on other code<br />b) expression is ruby code that prints out a value in html<br />c) just replace the word “scaffold” with the word “model”<br />d) rails generate scaffold thing : : Ans: D<br /><br />47.what variable changes the environment?<br />a) RAILS_ENV (RAILS_ENV=production)<br />b) development, test, production<br />c) render :partial<br />d) validates_numericality_of<br />Ans: A<br /><br />48.what is naming convention for file names ?<br />a) ActiveRecord<br />b) underscores<br />c) an object<br />d) validate<br />Ans: B<br /><br />49.why do you only need to call “render” in the controller sometimes and not always?<br />a) .:format (that period is a concatenation period)<br />b) redirect_to ” … ”<br />c) errors.add_to_base(“there was an error”)<br />d) if you’re happy with the default template, you can omit “render”<br />Ans: D<br /><br />50.a RESTful application uses … to define an interaction with the data.<br />a) a responder object<br />b) it is not associated with a model<br />c) HTTP methods (post, get, put, delete)<br />d) the request parameters table<br />Ans: C<br /><br />51.what generates web pages from page templates?<br />a) underscores<br />b) Embedded Ruby (ERb)<br />c) a web page<br />d) render :partial<br />Ans: B<br /><br />52.where do you edit routs?<br />a) :controller<br />b) underscores<br />c) ActiveRecord<br />d) config/routes.rb<br />Ans: D<br /><br />53.if looping through “f” object, how do you make a text field “name”?<br />a) <%= yield %><br />b) … have the same URL<br />c) <% form_for() %><br />d) <%= f.text_field :name %><br />Ans: D<br /><br />54.what does a model object do before it saves or updates data?<br />a) underscores<br />b) it runs its validators<br />c) validate<br />d) rake db:migrate<br />Ans: B<br /><br />55.what does “rake” mean?<br />a) #{1+1}<br />b) singular<br />c) ruby make<br />d) flight_id<br />Ans: C<br /><br />56.how do you start a loop that reads through the array object “@ads”?<br />a) a web page<br />b) ruby make<br />c) for ad in @ads<br />d) ActionPack<br />Ans: C<br /><br />57.what scripts does the model-generator command create?<br />a) their names begin with an underscore<br />b) the model class (app/models/something.rb) and the data migration (db/migrate/…_create_something.rb)<br />c) model names are singular, controller (and table) names are plural<br />d) rails generate migration AddPhoneToTickets phone:string<br />Ans: B<br /><br />58.what does Embedded Ruby (ERb) process as inputs?<br />a) data from model objects AND the page template<br />b) HTTP methods (post, get, put, delete)<br />c) it is not associated with a model<br />d) their names begin with an underscore<br />Ans: A<br /><br />59.what kind of test do you create yourself?<br />a) an object<br />b) ActionPack<br />c) rake db:migrate<br />d) integration test<br />Ans: D<br /><br />60.what is “format” in “repond_to do |format|”?<br />a) underscores<br />b) an object<br />c) a responder object<br />d) integration test<br />Ans: C<br /><br />61.what does REST stand for?<br />a) runs State test<br />b) the request State Transfer<br />c) Representational State Transfer<br />d) runs State Transfer<br />Ans: C<br /><br />62.what parameters are in <% form_for() %>?<br />a) data from model objects AND the page template<br />b) form_for(@object, :url=>{:action=>’create’})<br />c) .:format (that period is a concatenation period)<br />d) do |f| (where “f” can be anything)<br />Ans: B<br /><br />63.how do you add an error (called “there was an error”) in the validate method?<br />a) redirect_to ” … ”<br />b) errors.add_to_base(“there was an error”)<br />c) the word “private”<br />d) their names begin with an underscore<br />Ans: B<br /><br />64.how do you call a partial?<br />a) a web page<br />b) underscores<br />c) singular<br />d) render :partial<br />Ans: D<br /><br />65.how do you run the latest migrations?<br />a) ruby make<br />b) a web page<br />c) rake db:migrate<br />d) CamelCase<br />Ans: C<br /><br />66.what’s special about a search form?<br />a) for ad in @ads<br />b) it is not associated with a model<br />c) Representational State Transfer<br />d) it runs its validators<br />Ans: B<br /><br />67.what expression do all layouts have?<br />a) <%= yield %><br />b) <% form_for() %><br />c) integration test<br />d) <%= f.text_field :name %><br />Ans: A<br /><br />68.if the table Seats is associated with the table Flights, how should you name the table column in Seats to indicate its flight?<br />a) an object<br />b) flight_id<br />c) ruby make<br />d) #{1+1}<br />Ans: B<br /><br />69.how would you insert “1 + 1” into a string?<br />a) CamelCase<br />b) #{1+1}<br />c) singular<br />d) validate<br />Ans: B<br /><br />70.what is the second uri indicate?<br />a) an object<br />b) ActionPack<br />c) CamelCase<br />d) :controller<br />Ans: D<br /><br />71.what precedes the “check_logged_in” method in a class?<br />a) the request parameters table<br />b) the word “private”<br />c) <% form_for() %><br />d) redirect_to ” … ”<br />Ans: B<br /><br />72.what method name indicates to rails that it should validate before saving/updating?<br />a) validate<br />b) ActionPack<br />c) flight_id<br />d) ruby make<br />Ans: A<br /><br />73.how do you ask for all records of the Ads table?<br />a) singular<br />b) @ads = Ad.find(:all)<br />c) validate<br />d) rake db:migrate<br />Ans: B<br /><br />74.when data is retrieved from the database, what does Rails turn it into?<br />a) a responder object<br />b) validate<br />c) flight_id<br />d) an object<br />Ans: D<br /><br />75.what are the main principles of REST?<br />a) 1. all important data is a resource, 2. every resource has a proper name (URL), 3. you can perform a standard set of operations on resources (usually CRUD), 4. client and server talk statelessly<br />b) model names are singular, controller (and table) names are plural<br />c) a script that alters the structure of the underlying database<br />d) no. arrays just keep references to objects stored in memory.<br />Ans: A<br /><br />76.When is it best to use an array rather than a hash?<br />a) An array uses indices and a hash uses “keys”<br />b) puts (pronounced “put-ess”)<br />c) Red refers to writing a failing test<br />d) When the order matters, use an array.<br />Ans: D<br /><br />77.Describe the TDD cycle.<br />a) An array uses indices and a hash uses “keys”<br />b) It’s a test that simulates a browser accessing our application.<br />c) Red, Green, Refactor,Red refers to writing a failing test,Green refers to writing a passing test Once we have a passing test we are free to refactor the code.<br />d) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />Ans: C<br /><br />78.How does a local variable differ from an instance variable when empty?<br />a) This is not a standard rails directory, but a directory installed by RSpec in which all test files are kept.<br />b) The @ indicates that this is an “instance variable”. An instance variable defined in the action (or function) of a controller is automatically available in the view of that same name.<br />c) It’s a test that simulates a browser accessing our application.<br />d) Ruby complains if we try to evaluate an undefined local variable, but issues no such complaint for an instance variable; instead, instance variables are nil if not defined<br />Ans: D<br /><br />79.What is a .erb file?<br />a) The “erb” stands for “Embedded RuBy”. .erb files look like about.html.erb and live in the “views” directory.They are just html files with embedded ruby in them.<br />b) The @ indicates that this is an “instance variable”. An instance variable defined in the action (or function) of a controller is automatically available in the view of that same name.<br />c) puts (pronounced “put-ess”)<br />d) It’s a test that simulates a browser accessing our application.<br />Ans: A<br /><br />80.What’s the best way to describe an object in Ruby?<br />a) An array uses indices and a hash uses “keys”<br />b) It’s easier to describe what objects do, which is respond to messages. An object like a string, for example, can respond to the message length, which returns the number of characters in the string<br />c) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />d) It’s a test that simulates a browser accessing our application.<br />Ans: B<br /><br />81.What is a Class?<br />a) An array uses indices and a hash uses “keys”<br />b) Classes are simply a convenient way to organize functions (also called methods). In pages_controller.rb, PagesController is a Class which holds a “home” action.<br />c) A controller is a container for a group of (possibly dynamic) web pages.<br />d) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />Ans: B<br /><br />82.What kind of object is “@title” and what is special about it in Rails?<br />a) It’s a test that simulates a browser accessing our application.<br />b) The “erb” stands for “Embedded RuBy”. .erb files look like about.html.erb and live in the “views” directory.They are just html files with embedded ruby in them.<br />c) Ruby complains if we try to evaluate an undefined local variable, but issues no such complaint for an instance variable; instead, instance variables are nil if not defined<br />d) The @ indicates that this is an “instance variable”. An instance variable defined in the action (or function) of a controller is automatically available in the view of that same name.<br />Ans: D<br /><br />83.What does the routes.rb file do with “get pages/home”?<br />a) When a request is made for, say, /pages/home, the Pages controller executes the code in the “home” action and then automatically renders the view corresponding to the action — in this case, home.html.erb.<br />b) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />c) When the order matters, use an array.<br />d) It’s a test that simulates a browser accessing our application.<br />Ans: B<br /><br />84.Describe a “symbol” in Rails?<br />a) Ruby complains if we try to evaluate an undefined local variable, but issues no such complaint for an instance variable; instead, instance variables are nil if not defined<br />b) Symbols look kind of like strings, but prefixed with a colon instead of surrounded by quotes. For example, :name is a symbol. You can think of symbols as basically strings without all the extra baggage<br />c) An array uses indices and a hash uses “keys”<br />d) This is not a standard rails directory, but a directory installed by RSpec in which all test files are kept.<br />Ans: B<br /><br />85.What is the status code for “success” when throwing a GET?<br />a) 300<br />b) 200<br />c) 400<br />d) 150<br />Ans: B<br /><br />86.What is the command to print to the screen?<br />a) When the order matters, use an array.<br />b) An array uses indices and a hash uses “keys”<br />c) It’s a test that simulates a browser accessing our application.<br />d) puts (pronounced “put-ess”)<br />Ans: D<br /><br />87.What is the main benefit that a Class gets by inheritance from ApplicationController?<br />a) An array uses indices and a hash uses “keys”<br />b) When a request is made for, say, /pages/home, the Pages controller executes the code in the “home” action and then automatically renders the view corresponding to the action — in this case, home.html.erb.<br />c) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />d) When the order matters, use an array.<br />Ans: B<br /><br />88.Name two ways to indicate a “block” in Rails<br />a) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />b) The request hits the rails router which dispatches to the proper controller action. In this case, it goes to the index action in the Users controller.<br />c) Curly braces or do..end. It’s best to use curly braces for short one-line blocks and the do..end for mult-iline blocks.<br />d) When the order matters, use an array.<br />Ans: C<br /><br />89.What is an integration test?<br />a) It’s a test that simulates a browser accessing our application.<br />b) When the order matters, use an array.<br />c) puts (pronounced “put-ess”)<br />d) An array uses indices and a hash uses “keys”<br />Ans: A<br /><br />90.What is the most special aspect of nil?<br />a) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />b) A controller is a container for a group of (possibly dynamic) web pages.<br />c) When the order matters, use an array.<br />d) Other than the object “false” itself, nil is the only object that defaults to false.<br />Ans: D<br /><br />91.What is the /spec directory in rails?<br />a) Ruby complains if we try to evaluate an undefined local variable, but issues no such complaint for an instance variable; instead, instance variables are nil if not defined<br />b) Symbols look kind of like strings, but prefixed with a colon instead of surrounded by quotes. For example, :name is a symbol. You can think of symbols as basically strings without all the extra baggage<br />c) This is not a standard rails directory, but a directory installed by RSpec in which all test files are kept.<br />d) This maps requests for the URL /pages/home to the home action in the Pages controller.<br />Ans: C<br /><br />92.What’s the difference between a hash and an array?<br />a) An array uses indices and a hash uses “keys”<br />b) When the order matters, use an array.<br />c) It’s a test that simulates a browser accessing our application.<br />d) puts (pronounced “put-ess”)<br />Ans: A<br /><br />93.What is a controller?<br />a) A controller is a container for a group of (possibly dynamic) web pages.<br />b) An array uses indices and a hash uses “keys”<br />c) It’s a test that simulates a browser accessing our application.<br />d) When the order matters, use an array.<br />Ans: A<br /><br />94.how do you define a “status” parameter (within a “tweet” parameter)?<br />a) code = tweet,url = /tweets/1<br />b) @tweet = Tweet.create(:status => params[:status])<br />c) params = {:tweet => {:status => “I’m dead” }}<br />d) @tweet = Tweet.create(:status => params[:tweet][:status])<br />Ans: D<br /><br />95.how do you check the logged in user’s id?<br />a) :status<br />b) session[:user_id]<br />c) t.errors<br />d) the attribute<br />Ans: B<br /><br />96.let’s say you have a method…<br />def get_tweet<br />@tweet = Tweet.find(params[:id])<br />end<br />how do you tie an action to that that only kicks in for the edit, update, and destroy methods?<br />a) index, show, new, edit, create, update, destroy<br />b) code = tweet, :method => :delete<br />url = /tweets/1<br />c) before_filter :get_tweet, :only => [:edit, :update, :destroy]<br />d) @tweet = Tweet.create(:status => params[:tweet][:status])<br />Ans: C<br /><br />97.How to includes all javascript?<br />a) <%= stylesheet_link_tag :all %><br />b) <%= javascript_include_tag :defaults %><br />c) <%= csrf_meta_tag %><br />d) <%= link_to ... %><br />Ans: B<br /><br />98.what do you use to send messages to the user?<br />a) t.errors<br />b) :status<br />c) a flash<br />d) @tweet<br />Ans: C<br /><br />99.how includes all stylesheet files?<br />a) <%= javascript_include_tag :defaults %><br />b) <%= csrf_meta_tag %><br />c) <%= link_to ... %><br />d) <%= stylesheet_link_tag :all %><br />Ans: D<br /><br />100.how do you make sure your forms don’t get hacked?<br />a) <%= stylesheet_link_tag :all %><br />b) <%= csrf_meta_tag %><br />c) <%= link_to ... %><br />d) tweets_path<br />Ans: Bswathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-54950421100523870032017-05-12T08:55:00.001-07:002019-04-30T03:46:22.445-07:00Remove last two characters from given string using slice<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
#Remove last #two #characters from given string using #slice in #javascript. There are some more methods to remove last two characters.<br />
<div>
<br />
<div>
<div class="line number1 index0 alt2" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #58666e; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 14px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="js keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">var</code> <code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">fruits = [</code><code class="js string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Orange"</code><code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, </code><code class="js string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Strawberry"</code><code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, </code><code class="js string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Banana"</code><code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, </code><code class="js string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Orange"</code><code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">, </code><code class="js string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">"Mango"</code><code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">];</code></div>
<div class="line number2 index1 alt1" style="background: none white !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: #58666e; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 14px; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="js keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">var</code> <code class="js plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: black !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">myBest = fruits.slice(-3, -1);</code></div>
</div>
<div>
<br /></div>
<div>
For more follow this <a href="http://www.atozexams.com/example/java-script/remove-last-two-characters-from-given-string-using-24.html">link</a>.<br />
<div>
<br /></div>
<div>
<a href="http://www.atozexams.com/example/java-script/remove-last-two-characters-from-given-string-using-24.html">http://www.atozexams.com/example/java-script/remove-last-two-characters-from-given-string-using-24.html</a></div>
<div style="text-align: center;">
<iframe allow="autoplay" frameborder="0" height="200" src="https://www.youtube.com/embed/CI3r15qjXCc?autoplay=1&loop=1&playlist=CI3r15qjXCc&start=122&mute=1" width="340"></iframe>
</div>
</div>
</div>
<div>
<br />
</div>
<div>
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-49603726228014991492016-12-30T22:16:00.000-08:002016-12-19T08:19:12.000-08:00Node Js Tutorials<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
<br />
<div style="text-align: center;">
Node Js Tutorials</div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<img border="0" height="130" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhypaGT-dX48ZMlfir1TDsBsMuLKk7EJUb05VqkB28vuLtIUrh5NecY9k9pTr3GI9Hz14UxGU7qa2OKoFvoMM0U6wM-wrBRfBlVhEMhTewyz9wswIbX2-YUW6J7KvxZH0JbBYl0CdcOjgUJ/s400/nodejs1.jpg" width="400" /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-introduction.html">Node.js - Introduction</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-installations.html">Node.js - Installations</a></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<br /></div>
</div>
<div style="text-align: center;">
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-first-application.html">Node.js - First Application</a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-npm-node-package-manager.html"><span id="goog_698272030"></span>Node.js - NPM (Node Package Manager)</a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-callbacks-concept.html">Node.js - Callbacks Concept</a></div>
<div style="text-align: left;">
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-event-loop.html">Node.js - Event Loop</a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-event-emitter.html">Node.js - Event Emitter</a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-buffers.html">Node.js - Buffers</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-streams.html">Node.js - Streams</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-file-system.html">Node.js - File System</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-global-objects.html">Node.js - Global Objects</a><br />
<br /></div>
<div style="text-align: left;">
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-utility-modules.html">Node.js - Utility Modules</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-web-module.html">Node.js - Web Module</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-express-framework.html">Node.js - Express Framework</a><br />
<br />
<a href="http://onlinetutorialsplus.blogspot.in/2016/12/nodejs-restful-api.html">Node.js - RESTful API</a><br />
<br />
<br />
<br />
<br /></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
</div>
</div>
</div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com1tag:blogger.com,1999:blog-1109656761864078514.post-17762763546341556062016-12-19T08:18:00.005-08:002016-12-19T08:45:12.277-08:00Node.js - RESTful API<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - RESTful API</b></span></div>
<br />
<span style="font-size: large;"><b>What is REST architecture?</b></span><br />
<br />
REST stands for REpresentational State Transfer. REST is web standards based architecture and uses HTTP Protocol. It revolves around resource where every component is a resource and a resource is accessed by a common interface using HTTP standard methods. REST was first introduced by Roy Fielding in 2000.<br />
<br />
A REST Server simply provides access to resources and REST client accesses and modifies the resources using HTTP protocol. Here each resource is identified by URIs/ global IDs. REST uses various representation to represent a resource like text, JSON, XML but JSON is the most popular one.<br />
<br />
<b><u>HTTP methods</u></b><br />
<br />
Following four HTTP methods are commonly used in REST based architecture.<br />
<ul style="text-align: left;">
<li><b>GET </b>- This is used to provide a read only access to a resource.</li>
<li><b>PUT </b>- This is used to create a new resource.</li>
<li><b>DELETE </b>- This is used to remove a resource.</li>
<li><b>POST </b>- This is used to update a existing resource or create a new resource.</li>
</ul>
<br />
<span style="font-size: large;"><b>RESTful Web Services</b></span><br />
<br />
A web service is a collection of open protocols and standards used for exchanging data between applications or systems. Software applications written in various programming languages and running on various platforms can use web services to exchange data over computer networks like the Internet in a manner similar to inter-process communication on a single computer. This interoperability (e.g., communication between Java and Python, or Windows and Linux applications) is due to the use of open standards.
<br />
<br />
Web services based on REST Architecture are known as RESTful web services. These webservices uses HTTP methods to implement the concept of REST architecture. A RESTful web service usually defines a URI, Uniform Resource Identifier a service, which provides resource representation such as JSON and set of HTTP Methods.
<br />
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>Creating RESTful for A Library</b></span><br />
<br />
Consider we have a JSON based database of users having the following users in a file<b> users.json</b>:<br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"user1"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"name"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"mahesh"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"password"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"password1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"profession"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"teacher"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"id"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">1</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"user2"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"name"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"suresh"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"password"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"password2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"profession"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"librarian"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"id"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">2</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"user3"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"name"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"ramesh"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"password"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"password3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"profession"</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"clerk"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"id"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">3</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span></pre>
<br />
Based on this information we are going to provide following RESTful APIs.<br />
<br />
<table class="src">
<tbody style="border: solid 1px;">
<tr><th>S. N.</th><th>URI</th><th>HTTP Method</th><th>POST body</th><th>Result</th>
</tr>
<tr><td>1</td><td>listUsers</td><td>GET</td><td>empty</td><td>Show list of all the users.</td>
</tr>
<tr><td>2</td><td>addUser</td><td>POST</td><td>JSON String</td><td>Add details of new user.</td>
</tr>
<tr><td>3</td><td>deleteUser</td><td>DELETE</td><td>JSON String</td><td>Delete an existing user.</td>
</tr>
<tr><td>4</td><td>:id</td><td>GET</td><td>empty</td><td>Show details of a user.</td>
</tr>
</tbody></table>
<br />
I'm keeping most of the part of all the examples in the form of hard coding assuming you already know how to pass values from front end using Ajax or simple form data and how to process them using express <b>Request </b>object.<br />
<br />
<span style="font-size: large;"><b>List Users</b></span><br />
<br />
Let's implement our first RESTful API <b>listUsers </b>using the following code in a server.js file:<br />
<br />
<i>server.js</i><br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"fs"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-family: inherit; font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/listUsers'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">readFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"users.json"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'utf8'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-family: inherit; font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port</span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-family: inherit; font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-family: inherit; font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p> Now try to access defined API using URL: http://127.0.0.1:8081/listUsers and HTTP Method : GET on local machine using any REST client. This should produce following result:</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>You can change given IP address when you will put the solution in production environment.</o:p></div>
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">{</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"user1"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"name"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"mahesh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password1"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"profession"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"teacher"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"id"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">1</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">},</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"user2"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"name"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"suresh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password2"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"profession"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"librarian"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"id"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">2</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">},</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"user3"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"name"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"ramesh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password3"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"profession"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"clerk"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"id"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">3</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">}</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><b><span style="font-size: large;">Add User</span></b></o:p></div>
Following API will show you how to add new user in the list. Following is the detail of the new user:<br />
<span style="font-size: x-small;"><br /></span>
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">user </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"user4"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"name"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"mohit"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password4"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"profession"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"teacher"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"id"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">4</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">}</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>You can accept the same input in the form of JSON using Ajax call but for teaching point of view, we are making it hard coded here. Following is the <b>addUser </b>API to a new user in the database:</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><i>server.js</i></o:p></div>
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"fs"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> user </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"user4"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"name"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"mohit"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"password4"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"profession"</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"teacher"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"id"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">4</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">}</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">post</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/addUser'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="com"></span><span style="color: #880000; font-family: "consolas";"><span style="box-sizing: border-box;">// First read existing users.</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">readFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"users.json"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'utf8'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">parse</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">[</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user4"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">]</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> user</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">[</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user4"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">];</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>
</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>Now try to access defined API using URL: http://127.0.0.1:8081/addUser and HTTP Method : POST on local machine using any REST client. This should produce following result:</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">{</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user1"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:{</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"name"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"mahesh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password1"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"profession"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"teacher"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"id"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">1</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">},</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user2"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:{</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"name"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"suresh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password2"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"profession"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"librarian"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"id"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">2</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">},</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user3"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:{</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"name"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"ramesh"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password3"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"profession"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"clerk"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"id"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">3</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">},</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user4"</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:{</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"name"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"mohit"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"password4"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"profession"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"teacher"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"id"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">4</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">}</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">}</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>
</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><span style="font-size: large;"><b>Show Detail</b></span></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>Now we will implement an API which will be called using user ID and it will display the detail of the corresponding user.</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><i>server.js</i></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"fs"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/:id'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="com"></span><span style="color: #880000; font-family: "consolas";"><span style="box-sizing: border-box;">// First read existing users.</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">readFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"users.json"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'utf8'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> users </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">parse</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> user </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> users</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">[</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">params</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">id</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">]</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> <o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> user </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">user</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p>
</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
Now try to access defined API using URL: http://127.0.0.1:8081/2 and HTTP Method : GET on local machine using any REST client. This should produce following result:</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p><br /></o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p></o:p></div>
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">{"name":"suresh","password":"password2","profession":"librarian","id":2}<o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: large;"><b>Delete User</b></span></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
This API is very similar to addUser API where we receive input data through req.body and then based on user ID we delete that user from the database. To keep our program simple we assume we are going to delete user with ID 2. </div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<i>server.js</i></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"fs"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> id </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">2</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">;</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">delete</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/deleteUser'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="com"></span><span style="color: #880000; font-family: "consolas";"><span style="box-sizing: border-box;">// First read existing users.</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">readFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"users.json"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'utf8'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">parse</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">delete</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">[</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"user"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="lit"></span><span style="color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">2</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">];</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<o:p> Now try to access defined API using URL: http://127.0.0.1:8081/deleteUser and HTTP Method : DELETE on local machine using any REST client. This should produce following result:</o:p></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">{"user1":{"name":"mahesh","password":"password1","profession":"teacher","id":1},<o:p></o:p></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">"user3":{"name":"ramesh","password":"password3","profession":"clerk","id":3}}<o:p></o:p></span></pre>
</div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-51621083921878785632016-12-18T07:19:00.001-08:002016-12-19T08:16:22.981-08:00Node.js - Express Framework<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - Express Framework</b></span></div>
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>Express Overview</b></span><br />
<br />
Express is a minimal and flexible Node.js web application framework that provides a robust set of features to develop web and mobile applications. It facilitates the rapid development of Node based Web applications. Following are some of the core features of Express framework −<br />
<br />
<ul style="text-align: left;">
<li>Allows to set up middlewares to respond to HTTP Requests.</li>
<li>Defines a routing table which is used to perform different actions based on HTTP Method and URL.</li>
<li>Allows to dynamically render HTML Pages based on passing arguments to templates.</li>
</ul>
<br />
<b><span style="font-size: large;">Installing Express</span></b><br />
<br />
Firstly, install the Express framework globally using NPM so that it can be used to create a web application using node terminal.<br />
<br />
<div style="border: solid 1px; text-align: left;">
<b>$ npm install express --save</b></div>
<div>
<br />
The above command saves the installation locally in the node_modules directory and creates a directory express inside node_modules. You should install the following important modules along with express −<br />
<br />
<br />
<ul style="text-align: left;">
<li><b>body-parser</b> − This is a node.js middleware for handling JSON, Raw, Text and URL encoded form data.</li>
<li><b>cookie-parser</b> − Parse Cookie header and populate req.cookies with an object keyed by the cookie names.</li>
<li><b>multer</b> − This is a node.js middleware for handling multipart/form-data.</li>
</ul>
<br />
<div style="border: solid 1px;">
<div>
<b>$ npm install body-parser --save</b></div>
<div>
<b>$ npm install cookie-parser --save </b></div>
<div>
<b>$ npm install multer --save</b></div>
</div>
<br />
<b><span style="font-size: large;">Hello world Example</span></b><br />
<br />
Following is a very basic Express app which starts a server and listens on port 3000 for connection. This app responds with <b>Hello World!</b> for requests to the homepage. For every other path, it will respond with a <b>404 Not Found.</b><br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> express </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">require</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "times new roman" , "serif"; font-size: 10.0pt;">'express'</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> app </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> express</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">();</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">get</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "times new roman" , "serif"; font-size: 10.0pt;">'/'</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "times new roman" , "serif"; font-size: 10.0pt;">'Hello World'</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> server </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> app</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">listen</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #006666; font-family: "times new roman" , "serif"; font-size: 10.0pt;">8081</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">()</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> host </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> server</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">address</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">().</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">address<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "times new roman" , "serif"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> port </span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> server</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">address</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">().</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">port<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> <o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "times new roman" , "serif"; font-size: 10.0pt;">"Example app listening at
http://%s:%s"</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> host</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"> port</span><span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "times new roman" , "serif"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "times new roman" , "serif"; font-size: 10.0pt;"><o:p></o:p></span></div>
</div>
<br />
Save the above code in a file named server.js and run it with the following command.<br />
<br />
<div style="border: solid 1px;">
$ node server.js
</div>
<br />
You will see the following output −<br />
<br />
<div style="border: solid 1px;">
Example app listening at http://0.0.0.0:8081
</div>
<br />
Open http://127.0.0.1:8081/ in any browser to see the following result.<br />
<br />
<img border="0" height="215" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgys_mOUsnb9AQJzRvM-3qVRziYheF17dolWs8LCj5VXcvm2NAuwQfq9UiQLx-IRXgaJSkvhPkoqmUOwp3sVJ7ETqIGbWeQJxfrmA-cf-8Do7cj5I-GcoL8NAZZcLuQ3LPwVld8TuYJlwAV/s400/nodejs_sample.jpg" width="400" /><br />
<br />
<br />
<span style="font-size: large;"><b>Request & Response</b></span><br />
<br />
Express application uses a callback function whose parameters are <b>request</b> and <b>response </b>objects.<br />
<br />
<div style="border: solid 1px;">
app.get('/', function (req, res) {
<br />
// --
<br />
});</div>
<br />
<ul style="text-align: left;">
<li><b style="font-weight: bold;">Request Object</b><b> − </b>The request object represents the HTTP request and has properties for the request query string, parameters, body, HTTP headers, and so on.</li>
</ul>
<ul style="text-align: left;">
<li><b style="font-weight: bold;">Response Object</b><b> − </b>The response object represents the HTTP response that an Express app sends when it gets an HTTP request.</li>
</ul>
You can print <b>req </b>and <b>res </b>objects which provide a lot of information related to HTTP request and response including cookies, sessions, URL, etc.<br />
<br />
<span style="font-size: large;"><b>Basic Routing</b></span><br />
<br />
We have seen a basic application which serves HTTP request for the homepage. Routing refers to determining how an application responds to a client request to a particular endpoint, which is a URI (or path) and a specific HTTP request method (GET, POST, and so on).<br />
<br />
We will extend our Hello World program to handle more types of HTTP requests.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> express </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">require</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'express'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> app </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> express</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">();</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #880000; font-family: "consolas"; font-size: 10.0pt;">//
This responds with "Hello World" on the homepage</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'/'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Got a GET request for the homepage"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'Hello GET'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #880000; font-family: "consolas"; font-size: 10.0pt;">//
This responds a POST request for the homepage</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">post</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'/'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Got a POST request for the homepage"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'Hello POST'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #880000; font-family: "consolas"; font-size: 10.0pt;">//
This responds a DELETE request for the /del_user page.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">delete</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'/del_user'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Got a DELETE request for /del_user"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'Hello DELETE'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #880000; font-family: "consolas"; font-size: 10.0pt;">//
This responds a GET request for the /list_user page.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'/list_user'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Got a GET request for /list_user"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'Page Listing'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #880000; font-family: "consolas"; font-size: 10.0pt;">//
This responds a GET request for abcd, abxcd, ab123cd, and so on</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">get</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'/ab*cd'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">req</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> <o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Got a GET request for /ab*cd"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> res</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">send</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">'Page Pattern Match'</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">);</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> server </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> app</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">listen</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #006666; font-family: "consolas"; font-size: 10.0pt;">8081</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">function</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">()</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">{</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> host </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> server</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">address</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">().</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">address<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> </span><span style="color: #000088; font-family: "consolas"; font-size: 10.0pt;">var</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> port </span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">=</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> server</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">address</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">().</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">port<o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<br /></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> console</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">.</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;">log</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">(</span><span style="color: #008800; font-family: "consolas"; font-size: 10.0pt;">"Example app listening at http://%s:%s"</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> host</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">,</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"> port</span><span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">)</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; margin-bottom: 0.0001pt; padding: 0in;">
<span style="color: #666600; font-family: "consolas"; font-size: 10.0pt;">})</span><span style="color: #313131; font-family: "consolas"; font-size: 10.0pt;"><o:p></o:p></span></div>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Save the above code in a file named server.js and run it with the following command.<br />
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">$ node server.js<o:p></o:p></span></pre>
</div>
<br />
You will see the following output −<br />
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">Example app listening at http://0.0.0.0:8081<o:p></o:p></span></pre>
</div>
<br />
Now you can try different requests at http://127.0.0.1:8081 to see the output generated by server.js. Following are a few screens hots showing different responses for different URLs.<br />
<br />
Screen showing again http://127.0.0.1:8081/list_user<br />
<br />
<div style="text-align: center;">
<img border="0" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg21eWz_TB1xu1RAUFW9Jm1GvRYyS0Nt8fzu9CHSXiLWX1fjhSgIiCy_qInDPiIsyY3mo0PGqo8G0ZzBmmw3sgtZaJNvFm69mGPqzW8gEj81LfBB8yaGgQFMpEJYtdX2KVN2w47W3Nbpkb9/s400/nodejs_sample2.jpg" width="400" /></div>
<br />
Screen showing again http://127.0.0.1:8081/abcd<br />
<br />
<div style="text-align: center;">
<img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOBByL5DO50SbYteU1NPnQMFLNKpKApsgHTyTTbNz8010WLAgHrVFZ799Sspqopncd5D7TY081MW_MIzle8wvf4ouiwoeDpXZ20QWYW0I-Pz5E51FGsT21JEXytpfAKfLGUQK9Uh2o9xfY/s400/nodejs_sample3.jpg" width="377" /></div>
<br />
<div style="text-align: center;">
Screen showing again http://127.0.0.1:8081/abcdefg<img border="0" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvmWLrvv1SH8nN9F8zZ37_Q2_9RqXdyUZ2KNxEaGq0SKKCnyJ-F5hwlYi6WsyDghgOGdNbCcKAfXSNGibBojsmlbb_Ev2jCGkd3XoQE6486UxGhDxGtAwK6sPCoWwDuSKXftSExYtoGSPv/s320/nodejs_sample4.jpg" width="320" /></div>
<br />
<br />
<br />
<br />
<span style="font-size: large;"><b>Serving Static Files</b></span><br />
<br />
Express provides a built-in middleware <b>express.static</b> to serve static files, such as images, CSS, JavaScript, etc.<br />
<br />
You simply need to pass the name of the directory where you keep your static assets, to the <b>express.static</b> middleware to start serving the files directly. For example, if you keep your images, CSS, and JavaScript files in a directory named public, you can do this −<br />
<br />
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">app.use(express.static('public'));<o:p></o:p></span></pre>
</div>
<br />
We will keep a few images in <b>public/images</b> sub-directory as follows −<br />
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">node_modules<o:p></o:p></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">server.js<o:p></o:p></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">public/<o:p></o:p></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">public/images<o:p></o:p></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">public/images/logo.png<o:p></o:p></span></pre>
</div>
<br />
Let's modify "Hello Word" app to add the functionality to handle static files.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<span style="font-size: x-small;"><span class="kwd"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";">var</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">express</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="str"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'express'</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><br />
</span><span class="kwd"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";">var</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">app</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">express</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">();</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><br /></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
<span class="pln"></span>app</span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="kwd"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">use</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">express</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="kwd"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">static</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="str"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'public'</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">));</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><br />
</span><span class="pln"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
<span class="pln"></span>app</span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="kwd"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">get</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="str"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'/'</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">,</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">req</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">,</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">res</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">)</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{<br />
</span><span class="pln"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131;"></span> </span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">res</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">send</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="str"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'Hello World'</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><br />
<span class="pun"></span>})<br />
</span><span class="pln"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
</span><span class="kwd"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";">var</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">server</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">app</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">listen</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="lit"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #006666; font-family: "consolas";"><span style="box-sizing: border-box;">8081</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">,</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{<br />
</span><span class="pln"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131;"></span> </span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"></span><span style="box-sizing: border-box;">var</span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">host</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">server</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">address</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">().</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">address</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
<span class="pln"><u1:p></u1:p></span> <span class="apple-converted-space"> </span><span class="pln"> </span></span></span><span class="kwd"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">port</span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"> </span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">server</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">address</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">().</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">port</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
<span class="pln"></span> <span class="apple-converted-space"> </span><span class="pln">console</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">.</span></span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;">log</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span class="str"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"Example app listening at
http://%s:%s"</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">,</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">host</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">,</span></span></span><span class="apple-converted-space"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><span style="box-sizing: border-box;"> </span></span><span class="pln"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";">port</span></span></span><span class="pun"><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">)</span></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #313131; font-family: "consolas";"><br />
</span><span class="pun"></span><span style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; color: #666600; font-family: "consolas";">})</span></span></span></div>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Save the above code in a file named server.js and run it with the following command.<br />
<div style="background: #F1F1F1; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; padding: 0in;"><span style="color: #313131; font-family: "consolas"; font-size: 9.0pt;">$ node server.js<o:p></o:p></span></pre>
</div>
<br />
Now open http://127.0.0.1:8081/images/logo.png in any browser and see observe following result.<br />
<div style="text-align: center;">
<img border="0" height="164" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjSSJHA4dWcfjvd8BlUMMCiZchJep3xtcFQXmUct28qOKyD084MovQSQjfryzDRL3sRqh336FYRqFNINunDz5oNdoW4S6XY132Cm-XKpblH1pabGzQCCtFFRE8lE6mFe1C3BHb34cZb2Fk/s320/nodejs_sample5.jpg" width="320" /></div>
<br />
<br />
<span style="font-size: large;"><b>GET Method</b></span><br />
<br />
Here is a simple example which passes two values using HTML FORM GET method. We are going to use <b>process_get </b>router inside server.js to handle this input.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><html></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><form</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">action</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"http://127.0.0.1:8081/process_get"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">method</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"GET"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> First Name: </span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><input</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"text"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">name</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"first_name"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><br></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> Last Name: </span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><input</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"text"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">name</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"last_name"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><input</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"submit"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">value</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"Submit"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"></form></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"></body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><span style="font-size: x-small;"></html></span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Let's save above code in index.htm and modify server.js to handle home page requests as well as the input sent by the HTML form.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">static</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'public'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/index.htm'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">sendFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"index.htm"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/process_get'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="com"></span><span style="color: #880000; font-family: "consolas";"><span style="box-sizing: border-box;">// Prepare output in JSON format</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> response </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> first_name</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">query</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">first_name</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> last_name</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">query</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">last_name<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">};</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">response</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">response</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Accessing the HTML document using http://127.0.0.1:8081/index.htm will generate the following form −<br />
<br />
<table style="border: solid 1px;">
<tbody>
<tr>
<td>First Name:</td>
<td><input name="first_name" type="text" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input name="last_name" type="text" /></td>
</tr>
<tr>
<td colspan="2"><input type="button" value="Submit" /></td>
</tr>
</tbody></table>
<br />
Now you can enter the First and Last Name and then click submit button to see the result<br />
<br />
<span style="font-size: large;"><b>POST Method</b></span><br />
<br />
Here is a simple example which passes two values using HTML FORM POST method. We are going to use <b>process_get </b>router inside server.js to handle this input.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><html></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> <o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><form</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">action</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"http://127.0.0.1:8081/process_post"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">method</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"POST"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> First Name: </span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><input</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"text"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">name</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"first_name"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><br></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> Last Name: </span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><input</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"text"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">name</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"last_name"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"><input</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"submit"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "consolas";"><span style="box-sizing: border-box;">value</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"Submit"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "consolas";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"></form></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> <o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;"></body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="tag"><span style="color: #000088; font-family: "consolas";"><span style="font-size: x-small;"></html></span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Let's save the above code in index.htm and modify server.js to handle home page requests as well as the input sent by the HTML form.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> bodyParser </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'body-parser'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="com"><span style="color: #880000; font-family: "consolas";">// Create application/x-www-form-urlencoded parser</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> urlencodedParser </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> bodyParser</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">urlencoded</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">({</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> extended</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">false</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">})</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">static</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'public'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/index.htm'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">sendFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"index.htm"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">post</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/process_post'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> urlencodedParser</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="com"></span><span style="color: #880000; font-family: "consolas";"><span style="box-sizing: border-box;">// Prepare output in JSON format</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> response </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> first_name</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">body</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">first_name</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> last_name</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">body</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">last_name<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">};</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">response</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">response</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Accessing the HTML document using http://127.0.0.1:8081/index.htm will generate the following form −<br />
<br />
<pre class="result notranslate"><form action="" method="POST">
<table>
<tbody>
<tr>
<td>First Name:</td>
<td><input name="first_name" type="text" /></td>
</tr>
<tr>
<td>Last Name:</td>
<td><input name="last_name" type="text" /></td>
</tr>
<tr>
<td colspan="2"><input type="button" value="Submit" /></td>
</tr>
</tbody></table>
</form>
</pre>
<br />
<span style="font-size: large;"><b>File Upload</b></span><br />
<br />
The following HTML code creates a file uploader form. This form has method attribute set to <b>POST </b>and enctype attribute is set to<b> multipart/form-data</b><br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";"><html></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><head></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><title></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";">File Uploading Form</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";"></title></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"></head></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><h3></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";">File Upload:</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";"></h3></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> Select a file to upload: </span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";"><br</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">/></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><form</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">action</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">"http://127.0.0.1:8081/file_upload"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">method</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">"POST"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> <o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">enctype</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">"multipart/form-data"</span></span></span><span style="box-sizing: border-box;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";">></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><input</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "times new roman" , "serif";">=</span></span></span><span style="box-sizing: border-box;"><span class="atv"><span style="color: #008800; font-family: "times new roman" , "serif";">"file"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">name</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "times new roman" , "serif";">=</span></span></span><span style="box-sizing: border-box;"><span class="atv"><span style="color: #008800; font-family: "times new roman" , "serif";">"file"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">size</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "times new roman" , "serif";">=</span></span></span><span style="box-sizing: border-box;"><span class="atv"><span style="color: #008800; font-family: "times new roman" , "serif";">"50"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">/></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><br</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">/></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"><input</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">type</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">"submit"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atn"></span><span style="color: #7f0055; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">value</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="atv"></span><span style="color: #008800; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">"Upload File"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;">/></span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"></form></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"> </span></span><span class="tag"></span><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="box-sizing: border-box;"></body></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="tag"><span style="color: #000088; font-family: "times new roman" , "serif";"><span style="font-size: x-small;"></html></span></span></span><span style="color: #313131; font-family: "times new roman" , "serif";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Let's save above code in index.htm and modify server.js to handle home page requests as well as file upload.<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">();</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"fs"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> bodyParser </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'body-parser'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> multer </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'multer'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">static</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'public'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">bodyParser</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">urlencoded</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">({</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> extended</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">false</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">multer</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">({</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> dest</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">'/tmp/'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">}));</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/index.htm'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">sendFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"index.htm"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">post</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'/file_upload'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">name</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">path</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">type</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> file </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> __dirname </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="str"></span><span style="color: #008800; font-family: "consolas";"><span style="box-sizing: border-box;">"/"</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">+</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">name</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">;</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">readFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">path</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> fs</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">writeFile</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> data</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">err</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">if</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> err </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">){</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> err </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}</span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">else</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> response </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> message</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">'File uploaded successfully'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> filename</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">:</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">files</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">file</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">name<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">};</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">}</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> response </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> res</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">end</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> JSON</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">stringify</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> response </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">);</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">});</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: "consolas";">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> app</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: "consolas";">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="pun"></span><span style="color: #666600; font-family: "consolas";"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: "consolas";"><span style="box-sizing: border-box;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> </span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: "consolas";">var</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> server</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">address</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">().</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">port<o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><span style="font-size: x-small;"> <o:p></o:p></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: "consolas";">"Example app listening at http://%s:%s"</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> host</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"> port</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: "consolas";">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pun"><span style="color: #666600; font-family: "consolas";"><span style="font-size: x-small;">})</span></span></span><span style="color: #313131; font-family: "consolas";"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
Accessing the HTML document using http://127.0.0.1:8081/index.htm will generate the following form −<br />
<br />
<b>File Upload:</b>
Select a file to upload: <br />
<br />
<input type="button" value="Upload File" /><br />
NOTE: This is just dummy form and would not work, but it must work at your server.
<br />
<br />
<span style="font-size: large;"><b>Cookies Management
</b></span><br />
<br />
You can send cookies to a Node.js server which can handle the same using the following middleware option. Following is a simple example to print all the cookies sent by the client.
<br />
<br />
<div style="background: #EEEEEE; border: solid #D6D6D6 1.0pt; mso-border-alt: solid #D6D6D6 .75pt; mso-element: para-border-div; padding: 4.0pt 4.0pt 4.0pt 4.0pt;">
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: Consolas;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> express </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: Consolas;"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: Consolas;">'express'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: Consolas;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> cookieParser </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: Consolas;"><span style="box-sizing: border-box;">require</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: Consolas;">'cookie-parser'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="kwd"><span style="color: #000088; font-family: Consolas;">var</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> app </span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">=</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> express</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">()</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: Consolas;">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: Consolas;">use</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;">cookieParser</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">())</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><span style="font-size: x-small;"> </span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: Consolas;">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">.</span></span></span><span style="box-sizing: border-box;"><span class="kwd"><span style="color: #000088; font-family: Consolas;">get</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: Consolas;">'/'</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> </span></span><span class="kwd"></span><span style="color: #000088; font-family: Consolas;"><span style="box-sizing: border-box;">function</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;">req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> res</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> </span></span><span class="pun"></span><span style="color: #666600; font-family: Consolas;"><span style="box-sizing: border-box;">{</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> console</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;">log</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="str"><span style="color: #008800; font-family: Consolas;">"Cookies: "</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">,</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"> req</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;">cookies</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">)</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pun"><span style="color: #666600; font-family: Consolas;">})</span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></span></span></span></pre>
<pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; line-height: 12pt; padding: 0in;"><span style="font-size: x-small;"><span class="pln"><span style="color: #313131; font-family: Consolas;">app</span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">.</span></span></span><span style="box-sizing: border-box;"><span class="pln"><span style="color: #313131; font-family: Consolas;">listen</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">(</span></span></span><span style="box-sizing: border-box;"><span class="lit"><span style="color: #006666; font-family: Consolas;">8081</span></span></span><span style="box-sizing: border-box;"><span class="pun"><span style="color: #666600; font-family: Consolas;">)</span></span></span></span><span style="color: #313131; font-family: Consolas;"><o:p></o:p></span></pre>
</div>
<br />
<div class="MsoNormal" style="margin-bottom: .0001pt; margin-bottom: 0in;">
<br /></div>
<br />
<br />
<br />
<br />
<br />
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-59367650551243205492016-12-18T06:40:00.007-08:002016-12-18T06:58:41.780-08:00Node.js - Web Module<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - Web Module</b></span></div>
<br />
<b><span style="font-size: large;">What is a Web Server?</span></b><br />
<br />
A Web Server is a software application which handles HTTP requests sent by the HTTP client, like web browsers, and returns web pages in response to the clients. Web servers usually deliver html documents along with images, style sheets, and scripts.<br />
<br />
Most of the web servers support server-side scripts, using scripting languages or redirecting the task to an application server which retrieves data from a database and performs complex logic and then sends a result to the HTTP client through the Web server.<br />
<br />
Apache web server is one of the most commonly used web servers. It is an open source project.<br />
<br />
<b><span style="font-size: large;">Web Application Architecture</span></b><br />
<br />
A Web application is usually divided into four layers −<br />
<br />
<div style="text-align: center;">
<img border="0" height="195" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1PGzL8Du-jno0Kv0FY-2PPjWMv3yM7TQJ7hO5K2UcvToMpGEVxgJLPPyKhzvHpPErWKIcs38zTwgKFrQmIJxdhr_FfTfhPcrR6zgALNRlpSFtxP9YhzCKMafQwirANj6m5nBtHf8KplnF/s400/web_architecture.jpg" width="400" /></div>
<br />
<ul style="text-align: left;">
<li><b>Client </b>− This layer consists of web browsers, mobile browsers or applications which can make HTTP requests to the web server.</li>
<li><b>Server </b>− This layer has the Web server which can intercept the requests made by the clients and pass them the response.</li>
<li><b>Business </b>− This layer contains the application server which is utilized by the web server to do the required processing. This layer interacts with the data layer via the database or some external programs.</li>
<li><b>Data </b>− This layer contains the databases or any other source of data.</li>
</ul>
<span style="font-size: large;"><b>Creating a Web Server using Node</b></span><br />
<br />
Node.js provides an <b>http </b>module which can be used to create an HTTP client of a server. Following is the bare minimum structure of the HTTP server which listens at 8081 port.<br />
<br />
Create a js file named server.js −<br />
<br />
<b>File: server.js</b><br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> http </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'http'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'fs'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> url </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'url'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create a server</span><span class="pln" style="box-sizing: border-box;">
http</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createServer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">request</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> response</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Parse the request containing file name</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> pathname </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> url</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">parse</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">request</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">url</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="pln" style="box-sizing: border-box;">pathname</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Print the name of the file for which request is made.</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Request for "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> pathname </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">" received."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Read the requested file content from file system</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">pathname</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">substr</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">1</span><span class="pun" style="box-sizing: border-box; color: #666600;">),</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// HTTP Status: 404 : NOT FOUND</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Content Type: text/plain</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">writeHead</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">404</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="str" style="box-sizing: border-box; color: #008800;">'Content-Type'</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'text/html'</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="kwd" style="box-sizing: border-box; color: #000088;">else</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">//Page found </span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// HTTP Status: 200 : OK</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Content Type: text/plain</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">writeHead</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">200</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="str" style="box-sizing: border-box; color: #008800;">'Content-Type'</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'text/html'</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Write the content of the file to response body</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">write</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Send the response body </span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="kwd" style="box-sizing: border-box; color: #000088;">end</span><span class="pun" style="box-sizing: border-box; color: #666600;">();</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}).</span><span class="pln" style="box-sizing: border-box;">listen</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">8081</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Console will print the message</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Server running at http://127.0.0.1:8081/'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Next let's create the following html file named index.htm in the same directory where you created server.js.<br />
<br />
<b>File: index.html</b><br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="tag" style="box-sizing: border-box; color: #000088;"><html></span><span class="pln" style="box-sizing: border-box;">
</span><span class="tag" style="box-sizing: border-box; color: #000088;"><head></span><span class="pln" style="box-sizing: border-box;">
</span><span class="tag" style="box-sizing: border-box; color: #000088;"><title></span><span class="pln" style="box-sizing: border-box;">Sample Page</span><span class="tag" style="box-sizing: border-box; color: #000088;"></title></span><span class="pln" style="box-sizing: border-box;">
</span><span class="tag" style="box-sizing: border-box; color: #000088;"></head></span><span class="pln" style="box-sizing: border-box;">
</span><span class="tag" style="box-sizing: border-box; color: #000088;"><body></span><span class="pln" style="box-sizing: border-box;">
Hello World!
</span><span class="tag" style="box-sizing: border-box; color: #000088;"></body></span><span class="pln" style="box-sizing: border-box;">
</span><span class="tag" style="box-sizing: border-box; color: #000088;"></html></span></pre>
Now let us run the server.js to see the result −<br />
<pre style="background: #404040; color: #dedede;"><span style="color: #ffffa0;">$</span> node client.js
</pre>
Verify the Output.<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Server running at http://127.0.0.1:8081/</pre>
<br />
<b><span style="font-size: large;">Make a request to Node.js server</span></b><br />
Open http://127.0.0.1:8081/index.htm in any browser to see the following result.<br />
<div>
<br /></div>
<div>
<img border="0" height="227" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi_ekbGGSokH61Je-doty0bdyUOW6x10AmHpKTQkQpA38q7_zvxZLo9Q3DAKcvD1Z7q4Lei34YyaApNXYx_3qg2-3AuynTBXZJTDT-erN_SvIVWkQSwwvZkOzWi23BB92BoiiBerZyDlBvi/s400/nodejs_sample1.jpg" width="400" /></div>
<div>
<br /></div>
<div>
Verify the Output at server end.</div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Server running at http://127.0.0.1:8081/
Request for /index.htm received.</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Creating Web client using Node</span></b></div>
<br />
A web client can be created using http module. Let's check the following example.<br />
Create a js file named client.js −<br />
<br />
<b>File: client.js</b><br />
<div>
<br /></div>
<div>
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> http </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'http'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Options to be used by request </span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> options </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
host</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'localhost'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
port</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'8081'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
path</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'/index.htm'</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">};</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Callback function is used to deal with response</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> callback </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">response</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Continuously update stream with data</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> body </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">''</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'data'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
body </span><span class="pun" style="box-sizing: border-box; color: #666600;">+=</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'end'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Data received completely.</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">body</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Make a request to the server</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> req </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> http</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">request</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">options</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> callback</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
req</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="kwd" style="box-sizing: border-box; color: #000088;">end</span><span class="pun" style="box-sizing: border-box; color: #666600;">();</span></pre>
</div>
<div>
<br /></div>
<div>
Now run the client.js from a different command terminal other than server.js to see the result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node client.js</pre>
</div>
<div>
<br /></div>
<div>
Verify the Output.</div>
<div>
</div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;"><html>
<head>
<title>Sample Page</title>
</head>
<body>
Hello World!
</body>
</html></pre>
</div>
<div>
<br />
<br />
Verify the Output at server end.</div>
<div>
<br /></div>
<div>
<pre style="background: #ffffff; color: black;">Server running at http<span style="color: purple;">:</span><span style="color: dimgrey;">//127.0.0.1:8081/</span>
Request <span style="color: maroon; font-weight: bold;">for</span> <span style="color: #808030;">/</span><span style="color: #797997;">index</span><span style="color: #808030;">.</span>htm received<span style="color: #808030;">.</span>
</pre>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-85560428188473890192016-12-18T06:33:00.003-08:002016-12-18T06:33:58.312-08:00Node.js - Utility Modules<div dir="ltr" style="text-align: left;" trbidi="on">
<br /><div style="text-align: center;">
<b><span style="font-size: large;">Node.js - Utility Modules</span></b></div>
<br />There are several utility modules available in Node.js module library. These modules are very common and are frequently used while developing any Node based application.<br /><div>
<br /><b>1 OS Module</b><br />Provides basic operating-system related utility functions.<br /></div>
<div>
<b>2 Path Module</b><br />Provides utilities for handling and transforming file paths.<br /></div>
<div>
<b>3 Net Module</b><br />Provides both servers and clients as streams. Acts as a network wrapper.<br /></div>
<div>
<b>4 DNS Module</b><br />Provides functions to do actual DNS lookup as well as to use underlying operating system name resolution functionalities.<br /></div>
<div>
<b>5 Domain Module</b><br />Provides ways to handle multiple different I/O operations as a single group.<br /><br /><br /><br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-63166888916028420312016-12-18T06:13:00.001-08:002016-12-18T06:29:03.654-08:00Node.js - Global Objects<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<b><span style="font-size: large;">Node.js - Global Objects</span></b></div>
<br />
Node.js global objects are global in nature and they are available in all modules. We do not need to include these objects in our application, rather we can use them directly. These objects are modules, functions, strings and object itself as explained below.<br />
<br />
<b><span style="font-size: large;">__filename</span></b><br />
<br />
The <b>__filename</b> represents the filename of the code being executed. This is the resolved absolute path of this code file. For a main program, this is not necessarily the same filename used in the command line. The value inside a module is the path to that module file.<br />
<br />
<b><u>Example</u></b><br />
Create a js file named main.js with the following code −<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="com" style="box-sizing: border-box; color: #880000;">// Let's try to print the value of __filename</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> __filename </span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
</div>
Based on the location of your program, it will print the main file name as follows −<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">/web/com/1427091028_21099/main.js</pre>
<br />
<b><span style="font-size: large;">__dirname</span></b><br />
<br />
The <b>__dirname </b>represents the name of the directory that the currently executing script resides in.<br />
<br />
<div>
<b><u>Example</u></b><br />
Create a js file named main.js with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="com" style="box-sizing: border-box; color: #880000;">// Let's try to print the value of __dirname</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> __dirname </span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Based on the location of your program, it will print current directory name as follows −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">/web/com/1427091028_21099</pre>
<br />
<b><span style="font-size: large;">setTimeout(cb, ms)</span></b><br />
<br />
The setTimeout(cb, ms) global function is used to run callback cb after at least ms milliseconds. The actual delay depends on external factors like OS timer granularity and system load. A timer cannot span more than 24.8 days.<br />
This function returns an opaque value that represents the timer which can be used to clear the timer.</div>
<div>
<b><u>Example</u></b><br />
Create a js file named main.js with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">(){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"Hello, World!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Now call above function after 2 seconds</span><span class="pln" style="box-sizing: border-box;">
setTimeout</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">2000</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the output is printed after a little delay.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Hello, World!</pre>
<br />
<b><span style="font-size: large;">clearTimeout(t)</span></b><br />
<br />
The <b>clearTimeout(t)</b> global function is used to stop a timer that was previously created with <b>setTimeout()</b>. Here t is the timer returned by the setTimeout() function.</div>
<div>
<b><u><br /></u></b>
<b><u>Example</u></b><br />
Create a js file named main.js with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">(){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"Hello, World!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Now call above function after 2 seconds</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> t </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> setTimeout</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">2000</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Now clear the timer</span><span class="pln" style="box-sizing: border-box;">
clearTimeout</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">t</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the output where you will not find anything printed.<br />
<br />
<b><span style="font-size: large;">setInterval(cb, ms)</span></b><br />
<br />
The <b>setInterval(cb, ms)</b> global function is used to run callback cb repeatedly after at least ms milliseconds. The actual delay depends on external factors like OS timer granularity and system load. A timer cannot span more than 24.8 days.<br />
<br />
This function returns an opaque value that represents the timer which can be used to clear the timer using the function <b>clearInterval(t)</b>.</div>
<div>
<b><u>Example</u></b><br />
Create a js file named main.js with the following code −<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">(){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"Hello, World!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Now call above function after 2 seconds</span><span class="pln" style="box-sizing: border-box;">
setInterval</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">printHello</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">2000</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
The above program will execute printHello() after every 2 second. Due to system limitation, this program can not be executed with Try it option so you can check it in your machine locally.<br />
<br />
<b><span style="font-size: large;">Global Objects</span></b><br />
<br />
The following table provides a list of other objects which we use frequently in our applications. For a more detail, you can refer to the official documentation.<br />
<br />
<b><u>Console</u></b> : Used to print information on stdout and stderr.<br />
<b><u>Process</u></b> : Used to get information on current process. Provides multiple events related to process activities.<br />
<br />
<br />
<br />
<br /></div>
</div>
<style>
pre {margin:0px !important}
</style></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-85050925217962556642016-12-18T03:22:00.000-08:002016-12-18T06:07:46.516-08:00Node.js - File System<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<b><span style="font-size: large;">Node.js - File System</span></b></div>
<br />
<br />
Node implements File I/O using simple wrappers around standard POSIX functions. The Node File System (fs) module can be imported using the following syntax −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">var fs = require("fs")</pre>
<b><br /></b>
<span style="font-size: large;"><b>Synchronous vs Asynchronous</b></span><br />
<br />
Every method in the fs module has synchronous as well as asynchronous forms. Asynchronous methods take the last parameter as the completion function callback and the first parameter of the callback function as error. It is better to use an asynchronous method instead of a synchronous method, as the former never blocks a program during its execution, whereas the second one does.<br />
<div>
<br /></div>
<b><u>Example</u></b><br />
Create a text file named <b>input.txt</b> with the following content −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<br />
Let us create a js file named <b>main.js</b> with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Asynchronous read</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Asynchronous read: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Synchronous read</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> data </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFileSync</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Synchronous read: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Synchronous read: Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!
Program Ended
Asynchronous read: Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<br />
The following sections in this chapter provide a set of good examples on major File I/O methods.<br />
<br />
<b><span style="font-size: large;">Open a File</span></b><br />
<br />
<b><u>Syntax</u></b><br />
Following is the syntax of the method to open a file in asynchronous mode −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.open(path, flags[, mode], callback)</pre>
<br />
Here is the description of the parameters used −<br />
<br />
<ul style="text-align: left;">
<li><b>path</b> − This is the string having file name including path.</li>
<li><b>flags</b> − Flags indicate the behavior of the file to be opened. All possible values have been mentioned below.</li>
<li><b>mode</b> − It sets the file mode (permission and sticky bits), but only if the file was created. It defaults to 0666, readable and writeable.</li>
<li><b>callback</b> − This is the callback function which gets two arguments (err, fd).</li>
</ul>
<br />
<b style="font-size: x-large;">Flags</b><br />
<br />
Flags for read/write operations are −<br />
<b><br />r</b> - Open file for reading. An exception occurs if the file does not exist.<br />
<b>r+</b> - Open file for reading and writing. An exception occurs if the file does not exist.<br />
<b>rs</b> - Open file for reading in synchronous mode.<br />
<b>rs+</b> - Open file for reading and writing, asking the OS to open it synchronously. See notes for 'rs' about using this with caution.<br />
<b>w</b> - Open file for writing. The file is created (if it does not exist) or truncated (if it exists).<br />
<b>wx</b> - Like 'w' but fails if the path exists.<br />
<b>w+</b> - Open file for reading and writing. The file is created (if it does not exist) or truncated (if it exists).<br />
<b>wx+</b> - Like 'w+' but fails if path exists.<br />
<b>a</b> - Open file for appending. The file is created if it does not exist.<br />
<b>ax</b> - Like 'a' but fails if the path exists.<br />
<b>a+</b> - Open file for reading and appending. The file is created if it does not exist.<br />
<b>ax+</b> - Like 'a+' but fails if the the path exists.<br />
<br />
<b><u>Example</u></b><br />
<div>
Let us create a js file named main.js having the following code to open a file input.txt for reading and writing.<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Asynchronous - Opening File</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to open file!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">open</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'r+'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File opened successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to open file!
File opened successfully!</pre>
<br />
<span style="font-size: large;"><b>Get File Information</b></span><br />
<br />
<b><u>Syntax</u></b><br />
Following is the syntax of the method to get the information about a file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.stat(path, callback)</pre>
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −<br />
<ul style="text-align: left;">
<li><b>path</b> − This is the string having file name including path.</li>
<li><b>callback</b> − This is the callback function which gets two arguments (err, stats) where <b>stats</b> is an object of fs.Stats type which is printed below in the example.</li>
</ul>
<br />
Apart from the important attributes which are printed below in the example, there are several useful methods available in <b>fs.Stats</b> class which can be used to check file type. These methods are given in the following table.<br />
<br />
<table style="border: solid 1px;">
<tbody>
<tr>
<td style="border: solid 1px;"><b>Method</b></td>
<td style="border: solid 1px;"><b>Description</b></td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isFile()</td>
<td style="border: solid 1px;">Returns true if file type of a simple file.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isDirectory()</td>
<td style="border: solid 1px;">Returns true if file type of a directory.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isBlockDevice()</td>
<td style="border: solid 1px;">Returns true if file type of a block device.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isCharacterDevice()</td>
<td style="border: solid 1px;">Returns true if file type of a character device.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isSymbolicLink()</td>
<td style="border: solid 1px;">Returns true if file type of a symbolic link.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isFIFO()</td>
<td style="border: solid 1px;">Returns true if file type of a FIFO.</td>
</tr>
<tr>
<td style="border: solid 1px;">stats.isSocket()</td>
<td style="border: solid 1px;">Returns true if file type of asocket.</td>
</tr>
</tbody>
</table>
<br />
<b><u>Example
</u></b><br />
Let us create a js file named <b>main.js</b> with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to get file info!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">stat</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> stats</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">stats</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Got file info successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Check file type</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"isFile ? "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> stats</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">isFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"isDirectory ? "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> stats</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">isDirectory</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to get file info!
{
dev: 1792,
mode: 33188,
nlink: 1,
uid: 48,
gid: 48,
rdev: 0,
blksize: 4096,
ino: 4318127,
size: 97,
blocks: 8,
atime: Sun Mar 22 2015 13:40:00 GMT-0500 (CDT),
mtime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT),
ctime: Sun Mar 22 2015 13:40:57 GMT-0500 (CDT)
}
Got file info successfully!
isFile ? true
isDirectory ? false</pre>
<br />
<br />
<b><span style="font-size: large;">Writing a File</span></b><b><u><br /></u></b></div>
<div>
<b><u><br /></u></b></div>
<div>
<b><u>Syntax</u></b><br />
Following is the syntax of one of the methods to write into a file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.writeFile(filename, data[, options], callback)</pre>
<br />
This method will over-write the file if the file already exists. If you want to write into an existing file then you should use another method available.<br />
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −<br />
<ul style="text-align: left;">
<li><b>path</b> − This is the string having the file name including path.</li>
<li><b>data </b>− This is the String or Buffer to be written into the file.</li>
<li><b>options </b>− The third parameter is an object which will hold {encoding, mode, flag}. By default. encoding is utf8, mode is octal value 0666. and flag is 'w'</li>
<li><b>callback </b>− This is the callback function which gets a single parameter err that returns an error in case of any writing error.</li>
</ul>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to write into existing file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">writeFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'Simply Easy Learning!'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Data written successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Let's read newly written data"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Asynchronous read: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to write into existing file
Data written successfully!
Let's read newly written data
Asynchronous read: Simply Easy Learning!</pre>
<br />
<span style="font-size: large;"><b>Reading a File</b></span><br />
<b><u><br /></u></b></div>
<div>
<b><u>Syntax</u></b><br />
Following is the syntax of one of the methods to read from a file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.read(fd, buffer, offset, length, position, callback)</pre>
<br />
This method will use file descriptor to read the file. If you want to read the file directly using the file name, then you should use another method available.<br />
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −<br />
<ul style="text-align: left;">
<li>fd − This is the file descriptor returned by fs.open().</li>
<li>buffer − This is the buffer that the data will be written to.</li>
<li>offset − This is the offset in the buffer to start writing at.</li>
<li>length − This is an integer specifying the number of bytes to read.</li>
<li>position − This is an integer specifying where to begin reading from in the file. If position is null, data will be read from the current file position.</li>
<li>callback − This is the callback function which gets the three arguments, (err, bytesRead, buffer).</li>
</ul>
</div>
<div>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">1024</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to open an existing file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">open</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'r+'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File opened successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to read the file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">read</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">length</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">bytes </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">" bytes read"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Print only read bytes to avoid junk.</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">bytes </span><span class="pun" style="box-sizing: border-box; color: #666600;">></span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">slice</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to open an existing file
File opened successfully!
Going to read the file
97 bytes read
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<br />
<br />
<b><span style="font-size: large;">Closing a File</span></b></div>
<div>
<b><u>Syntax</u></b><br />
Following is the syntax to close an opened file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.close(fd, callback)</pre>
<br />
<b><u>Parameters</u></b></div>
<div>
Here is the description of the parameters used −<br />
<br />
<ul style="text-align: left;">
<li><b>fd</b> − This is the file descriptor returned by file fs.open() method.</li>
<li><b>callback</b> − This is the callback function No arguments other than a possible exception are given to the completion callback.</li>
</ul>
<b><u>Example</u></b><br />
Let us create a js file named main.js having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">1024</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to open an existing file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">open</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'r+'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File opened successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to read the file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">read</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">length</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Print only read bytes to avoid junk.</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">bytes </span><span class="pun" style="box-sizing: border-box; color: #666600;">></span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">slice</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Close the opened file.</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">close</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File closed successfully."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to open an existing file
File opened successfully!
Going to read the file
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!
File closed successfully.</pre>
<br />
<b><span style="font-size: large;">Truncate a File</span></b></div>
<div>
<b><u>Syntax</u></b><br />
Following is the syntax of the method to truncate an opened file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.ftruncate(fd, len, callback)</pre>
<br />
<b><u>Parameters</u></b><br />
<br />
Here is the description of the parameters used −</div>
<div>
<ul style="text-align: left;">
<li><b>fd</b> − This is the file descriptor returned by fs.open().</li>
<li><b>len</b> − This is the length of the file after which the file will be truncated.</li>
<li><b>callback</b> − This is the callback function No arguments other than a possible exception are given to the completion callback.</li>
</ul>
</div>
<div>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">1024</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to open an existing file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">open</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'r+'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File opened successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to truncate the file after 10 bytes"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Truncate the opened file.</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">ftruncate</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">10</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File truncated successfully."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to read the same file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">read</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">length</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Print only read bytes to avoid junk.</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">bytes </span><span class="pun" style="box-sizing: border-box; color: #666600;">></span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">slice</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> bytes</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Close the opened file.</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">close</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fd</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File closed successfully."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to open an existing file
File opened successfully!
Going to truncate the file after 10 bytes
File truncated successfully.
Going to read the same file
Tutorials
File closed successfully.</pre>
</div>
<div>
<br /></div>
<b><span style="font-size: large;">Delete a File</span></b><br />
<b><u><br /></u></b>
<div>
<b><u>Syntax</u></b><br />
Following is the syntax of the method to delete a file −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.unlink(path, callback)</pre>
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −<br />
<br />
<ul style="text-align: left;">
<li><b>path </b>− This is the file name including path.</li>
<li><b>callback </b>− This is the callback function No arguments other than a possible exception are given to the completion callback.</li>
</ul>
</div>
<div>
<b><u>Example</u></b><br />
Let us create a js file named main.js having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title=",,,input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to delete an existing file"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">unlink</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File deleted successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
</div>
<div>
Verify the Output.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to delete an existing file
File deleted successfully!</pre>
</div>
<div>
<br /></div>
<br />
<b><span style="font-size: large;">Create a Directory</span></b><br />
<div>
<br />
<b><u>Syntax</u></b><br />
Following is the syntax of the method to create a directory −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.mkdir(path[, mode], callback)</pre>
<br />
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −</div>
<div>
<ul style="text-align: left;">
<li><b>path </b>− This is the directory name including path.</li>
<li><b>mode </b>− This is the directory permission to be set. Defaults to 0777.</li>
<li><b>callback </b>− This is the callback function No arguments other than a possible exception are given to the completion callback.</li>
</ul>
</div>
<div>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title=",,,input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to create directory /tmp/test"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">mkdir</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'/tmp/test'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Directory created successfully!"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<div>
<br /></div>
<div>
Now run the main.js to see the result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
</div>
<div>
<br /></div>
<div>
Verify the Output.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to create directory /tmp/test
Directory created successfully!</pre>
</div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Read a Directory</b></span></div>
<div>
<br /></div>
<div>
<b><u>Syntax</u></b></div>
<div>
Following is the syntax of the method to read a directory −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.readdir(path, callback)</pre>
</div>
<br />
<b><u>Parameters</u></b><br />
Here is the description of the parameters used −<br />
<ul style="text-align: left;">
<li><b>path</b> − This is the directory name including path.</li>
<li><b>callback</b> − This is the callback function which gets two arguments (err, files) where files is an array of the names of the files in the directory excluding '.' and '..'.</li>
</ul>
</div>
<div>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title=",,,input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to read directory /tmp"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readdir</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"/tmp/"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> files</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
files</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">forEach</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">file</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> file </span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<div>
Now run the main.js to see the result −</div>
<div>
<br /></div>
</div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
</div>
<div>
<br /></div>
<div>
Verify the Output.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to read directory /tmp
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test
test.txt</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Remove a Directory</span></b></div>
<div>
<br /></div>
<div>
<b><u>Syntax</u></b></div>
<div>
Following is the syntax of the method to remove a directory −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">fs.rmdir(path, callback)</pre>
</div>
<div>
<br /></div>
<b><u>Parameters</u></b><br />
<br />
Here is the description of the parameters used −<br />
<br />
<ul style="text-align: left;">
<li><b>path</b> − This is the directory name including path.</li>
<li><b>callback</b> − This is the callback function No argume nts other than a possible exception are given to the completion callback.</li>
</ul>
<b><u>Example</u></b><br />
Let us create a js file named <b>main.js</b> having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title=",,,input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to delete directory /tmp/test"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">rmdir</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"/tmp/test"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Going to read directory /tmp"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readdir</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"/tmp/"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> files</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
files</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">forEach</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">file</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> file </span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span></pre>
<div>
<br /></div>
<div>
Now run the main.js to see the result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
</div>
<div>
<br /></div>
<div>
Verify the Output.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Going to read directory /tmp
ccmzx99o.out
ccyCSbkF.out
employee.ser
hsperfdata_apache
test.txt</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Methods Reference</span></b></div>
<div>
<br /></div>
<div>
Following is a reference of File System module available in Node.js. For more detail you can refer to the official documentation.</div>
<br />
<b><u>fs.rename(oldPath, newPath, callback)</u></b><br />
Asynchronous rename(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.ftruncate(fd, len, callback)</u></b><br />
Asynchronous ftruncate(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.ftruncateSync(fd, len)</u></b><br />
Synchronous ftruncate().<br />
<br />
<b><u>fs.truncate(path, len, callback)</u></b><br />
Asynchronous truncate(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.truncateSync(path, len)</u></b><br />
Synchronous truncate().<br />
<br />
<b><u>fs.chown(path, uid, gid, callback)</u></b><br />
Asynchronous chown(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<div>
<b><u>fs.chownSync(path, uid, gid)</u></b><br />
Synchronous chown().<br />
<br />
<b><u>fs.fchown(fd, uid, gid, callback)</u></b><br />
Asynchronous fchown(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.fchownSync(fd, uid, gid)</u></b><br />
Synchronous fchown().<br />
<br />
<b><u>fs.lchown(path, uid, gid, callback)</u></b><br />
Asynchronous lchown(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.lchownSync(path, uid, gid)</u></b><br />
Synchronous lchown().<br />
<br />
<b><u>fs.chmod(path, mode, callback)</u></b><br />
Asynchronous chmod(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.chmodSync(path, mode)</u></b><br />
Synchronous chmod().<br />
<br />
<b><u>fs.fchmod(fd, mode, callback)</u></b><br />
Asynchronous fchmod(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.fchmodSync(fd, mode)</u></b><br />
Synchronous fchmod().<br />
<br />
<b><u>fs.lchmod(path, mode, callback)</u></b><br />
Asynchronous lchmod(). No arguments other than a possible exception are given to the completion callback. Only available on Mac OS X.<br />
<br />
<b><u>fs.lchmodSync(path, mode)</u></b><br />
Synchronous lchmod().<br />
<br />
<b><u>fs.stat(path, callback)</u></b><br />
Asynchronous stat(). The callback gets two arguments (err, stats) where stats is an fs.Stats object.<br />
<br />
<b><u>fs.lstat(path, callback)</u></b><br />
Asynchronous lstat(). The callback gets two arguments (err, stats) where stats is an fs.Stats object. lstat() is identical to stat(), except that if path is a symbolic link, then the link itself is stat-ed, not the file that it refers to.<br />
<br />
<b><u>fs.fstat(fd, callback)</u></b><br />
Asynchronous fstat(). The callback gets two arguments (err, stats) where stats is an fs.Stats object. fstat() is identical to stat(), except that the file to be stat-ed is specified by the file descriptor fd.<br />
<br />
<b><u>fs.statSync(path)</u></b><br />
Synchronous stat(). Returns an instance of fs.Stats.<br />
<br />
<b><u>fs.lstatSync(path)</u></b><br />
Synchronous lstat(). Returns an instance of fs.Stats.<br />
<br />
<b><u>fs.fstatSync(fd)</u></b><br />
Synchronous fstat(). Returns an instance of fs.Stats.<br />
<br />
<b><u>fs.link(srcpath, dstpath, callback)</u></b><br />
Asynchronous link(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.linkSync(srcpath, dstpath)</u></b><br />
Synchronous link().<br />
<br />
<b><u>fs.symlink(srcpath, dstpath[, type], callback)</u></b><br />
Asynchronous symlink(). No arguments other than a possible exception are given to the completion callback. The type argument can be set to 'dir', 'file', or 'junction' (default is 'file') and is only available on Windows (ignored on other platforms). Note that Windows junction points require the destination path to be absolute. When using 'junction', the destination argument will automatically be normalized to absolute path.<br />
<br />
<b><u>fs.symlinkSync(srcpath, dstpath[, type])</u></b><br />
Synchronous symlink().<br />
<br />
<b><u>fs.readlink(path, callback)</u></b><br />
Asynchronous readlink(). The callback gets two arguments (err, linkString).<br />
<br />
<b><u>fs.realpath(path[, cache], callback)</u></b><br />
Asynchronous realpath(). The callback gets two arguments (err, resolvedPath). May use process.cwd to resolve relative paths. cache is an object literal of mapped paths that can be used to force a specific path resolution or avoid additional fs.stat calls for known real paths.<br />
<br />
<b><u>fs.realpathSync(path[, cache])</u></b><br />
Synchronous realpath(). Returns the resolved path.<br />
<br />
<b><u>fs.unlink(path, callback)</u></b><br />
Asynchronous unlink(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.unlinkSync(path)</u></b><br />
Synchronous unlink().<br />
<br />
<b><u>fs.rmdir(path, callback)</u></b><br />
Asynchronous rmdir(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.rmdirSync(path)</u></b><br />
Synchronous rmdir().<br />
<br />
<b><u>fs.mkdir(path[, mode], callback)</u></b><br />
Asynchronous mkdir(2). No arguments other than a possible exception are given to the completion callback. mode defaults to 0777.<br />
<br />
<b><u>fs.mkdirSync(path[, mode])</u></b><br />
Synchronous mkdir().<br />
<br />
<b><u>fs.readdir(path, callback)</u></b><br />
Asynchronous readdir(3). Reads the contents of a directory. The callback gets two arguments (err, files) where files is an array of the names of the files in the directory excluding '.' and '..'.<br />
<br />
<b><u>fs.readdirSync(path)</u></b><br />
Synchronous readdir(). Returns an array of filenames excluding '.' and '..'.<br />
<br />
<b><u>fs.close(fd, callback)</u></b><br />
Asynchronous close(). No arguments other than a possible exception are given to the completion callback.<br />
<br />
<b><u>fs.closeSync(fd)</u></b><br />
Synchronous close().<br />
<br />
<b><u>fs.open(path, flags[, mode], callback)</u></b><br />
Asynchronous file open.<br />
<br />
<b><u>fs.openSync(path, flags[, mode])</u></b><br />
Synchronous version of fs.open().<br />
<br />
<b><u>fs.utimes(path, atime, mtime, callback)</u></b><br />
<br />
<b><u>fs.utimesSync(path, atime, mtime)</u></b><br />
Change file timestamps of the file referenced by the supplied path.</div>
<div>
<b><u>fs.futimes(fd, atime, mtime, callback)</u></b><br />
<br />
<b><u>fs.futimesSync(fd, atime, mtime)</u></b><br />
Change the file timestamps of a file referenced by the supplied file descriptor.<br />
<br />
<b><u>fs.fsync(fd, callback)</u></b><br />
Asynchronous fsync. No arguments other than a possible exception are given to the completion callback.</div>
<div>
<b><u>fs.fsyncSync(fd)</u></b><br />
Synchronous fsync.<br />
<br />
<b><u>fs.write(fd, buffer, offset, length[, position], callback)</u></b><br />
Write buffer to the file specified by fd.<br />
<br />
<b><u>fs.write(fd, data[, position[, encoding]], callback)</u></b><br />
Write data to the file specified by fd. If data is not a Buffer instance then the value will be coerced to a string.<br />
<br />
<b><u>fs.writeSync(fd, buffer, offset, length[, position])</u></b>Synchronous versions of fs.write(). Returns the number of bytes written.<br />
<br />
<b><u>fs.writeSync(fd, data[, position[, encoding]])</u></b><br />
Synchronous versions of fs.write(). Returns the number of bytes written.<br />
<br />
<b><u>fs.read(fd, buffer, offset, length, position, callback)</u></b><br />
Read data from the file specified by fd.<br />
<br />
<b><u>fs.readSync(fd, buffer, offset, length, position)</u></b><br />
Synchronous version of fs.read. Returns the number of bytesRead.<br />
<br />
<b><u>fs.readFile(filename[, options], callback)</u></b><br />
Asynchronously reads the entire contents of a file.<br />
<br />
<b><u>fs.readFileSync(filename[, options])</u></b><br />
Synchronous version of fs.readFile. Returns the contents of the filename.<br />
<br />
<b><u>fs.writeFile(filename, data[, options], callback)</u></b><br />
Asynchronously writes data to a file, replacing the file if it already exists. data can be a string or a buffer.<br />
<br />
<b><u>fs.writeFileSync(filename, data[, options])</u></b><br />
The synchronous version of fs.writeFile.<br />
<br />
<b><u>fs.appendFile(filename, data[, options], callback)</u></b><br />
Asynchronously append data to a file, creating the file if it does not exist. data can be a string or a buffer.<br />
<br />
<b><u>fs.appendFileSync(filename, data[, options])</u></b><br />
The synchronous version of fs.appendFile.<br />
<br />
<b><u>fs.watchFile(filename[, options], listener)</u></b><br />
Watch for changes on filename. The callback listener will be called each time the file is accessed.<br />
<br />
<b><u>fs.unwatchFile(filename[, listener])</u></b><br />
Stop watching for changes on filename. If listener is specified, only that particular listener is removed. Otherwise, all listeners are removed and you have effectively stopped watching filename.<br />
<br />
<b><u>fs.watch(filename[, options][, listener])</u></b><br />
Watch for changes on filename, where filename is either a file or an directory. The returned object is an fs.FSWatcher.<br />
<br />
<b><u>fs.exists(path, callback)</u></b><br />
Test whether or not the given path exists by checking with the file system. Then call the callback argument with either true or false.<br />
<br />
<b><u>fs.existsSync(path)</u></b><br />
Synchronous version of fs.exists.<br />
<br />
<b><u>fs.access(path[, mode], callback)</u></b><br />
Tests a user's permissions for the file specified by path. mode is an optional integer that specifies the accessibility checks to be performed.<br />
<br />
<b><u>fs.accessSync(path[, mode])</u></b><br />
Synchronous version of fs.access. It throws if any accessibility checks fail, and does nothing otherwise.<br />
<br />
<b><u>fs.createReadStream(path[, options])</u></b><br />
Returns a new ReadStream object.<br />
<br />
<b><u>fs.createWriteStream(path[, options])</u></b><br />
Returns a new WriteStream object.<br />
<br />
<b><u>fs.symlink(srcpath, dstpath[, type], callback)</u></b><br />
Asynchronous symlink(). No arguments other than a possible exception are given to the completion callback. The type argument can be set to 'dir', 'file', or 'junction' (default is 'file') and is only available on Windows (ignored on other platforms). Note that Windows junction points require the destination path to be absolute. When using 'junction', the destination argument will automatically be normalized to absolute path.<br />
<br />
<br />
<div>
<br /></div>
</div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-37414199573489991232016-12-18T03:06:00.001-08:002016-12-18T03:14:16.517-08:00Node.js - Streams<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;">Node.js - Streams</span></div>
<br />
<b><span style="font-size: large;">What are Streams?</span></b><br />
<div>
<br /></div>
<div>
Streams are objects that let you read data from a source or write data to a destination in continuous fashion. In Node.js, there are four types of streams −<br />
<br />
<div>
<ul style="text-align: left;">
<li><b>Readable</b> − Stream which is used for read operation.</li>
<li><b>Writable</b> − Stream which is used for write operation.</li>
<li><b>Duplex</b> − Stream which can be used for both read and write operation.</li>
<li><b>Transform</b> − A type of duplex stream where the output is computed based on input.</li>
</ul>
<br />
Each type of Stream is an EventEmitter instance and throws several events at different instance of times. For example, some of the commonly used events are −<br />
<ul style="text-align: left;">
<li><b>data</b> − This event is fired when there is data is available to read.</li>
<li><b>end</b> − This event is fired when there is no more data to read.</li>
<li><b>error</b> − This event is fired when there is any error receiving or writing data.</li>
<li><b>finish</b> − This event is fired when all the data has been flushed to underlying system.</li>
</ul>
<br />
This tutorial provides a basic understanding of the commonly used operations on Streams.<br />
<div>
<span style="font-size: large;"><b><br /></b></span></div>
<div>
<span style="font-size: large;"><b>Reading from a Stream</b></span><br />
<div>
<br /></div>
Create a text file named input.txt having the following content −<br />
<br />
<pre class="result notranslate" id="input_txt" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<div>
<div>
<br /></div>
Create a js file named main.js with the following code −<br /><br />
<div>
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> data </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">''</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create a readable stream</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> readerStream </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createReadStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Set the encoding to be utf8. </span><span class="pln" style="box-sizing: border-box;">
readerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">setEncoding</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'UTF8'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Handle stream events --> data, end, and error</span><span class="pln" style="box-sizing: border-box;">
readerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'data'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">chunk</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
data </span><span class="pun" style="box-sizing: border-box; color: #666600;">+=</span><span class="pln" style="box-sizing: border-box;"> chunk</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
readerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'end'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
readerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'error'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">stack</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<div>
<br /></div>
Now run the main.js to see the result −<br />
<div>
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Program Ended
Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<div>
<div>
<br /></div>
<span style="font-size: large;"><b>Writing to a Stream</b></span><br />
<div>
<br /></div>
Create a js file named main.js with the following code −<br />
<div>
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> data </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'Simply Easy Learning'</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create a writable stream</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> writerStream </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createWriteStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'output.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Write the data to stream with encoding to be utf8</span><span class="pln" style="box-sizing: border-box;">
writerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">write</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="str" style="box-sizing: border-box; color: #008800;">'UTF8'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Mark the end of file</span><span class="pln" style="box-sizing: border-box;">
writerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="kwd" style="box-sizing: border-box; color: #000088;">end</span><span class="pun" style="box-sizing: border-box; color: #666600;">();</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Handle stream events --> finish, and error</span><span class="pln" style="box-sizing: border-box;">
writerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'finish'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Write completed."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
writerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'error'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">stack</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<div>
<br /></div>
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<div>
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Program Ended
Write completed.</pre>
<br />
Now open output.txt created in your current directory; it should contain the following −<br />
<div>
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Simply Easy Learning</pre>
<br />
<span style="font-size: large;"><b>Piping the Streams</b></span><br />
<div>
<br /></div>
<div>
Piping is a mechanism where we provide the output of one stream as the input to another stream. It is normally used to get data from one stream and to pass the output of that stream to another stream. There is no limit on piping operations. Now we'll show a piping example for reading from one file and writing it to another file.<br />
<div>
<br /></div>
<div>
Create a js file named main.js with the following code −<br />
<div>
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create a readable stream</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> readerStream </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createReadStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create a writable stream</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> writerStream </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createWriteStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'output.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Pipe the read and write operations</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// read input.txt and write data to output.txt</span><span class="pln" style="box-sizing: border-box;">
readerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">pipe</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">writerStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<div>
<div>
<br /></div>
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Program Ended</pre>
<div>
<div>
<br /></div>
Open output.txt created in your current directory; it should contain the following −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Tutorials is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<div>
<div>
<br /></div>
<b><span style="font-size: large;">Chaining the Streams</span></b><br />
<div>
<br /></div>
<div>
Chaining is a mechanism to connect the output of one stream to another stream and create a chain of multiple stream operations. It is normally used with piping operations. Now we'll use piping and chaining to first compress a file and then decompress the same.<br />
<br />
Create a js file named main.js with the following code −<br />
<div>
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> zlib </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'zlib'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Compress the file input.txt to input.txt.gz</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createReadStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">pipe</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">zlib</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createGzip</span><span class="pun" style="box-sizing: border-box; color: #666600;">())</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">pipe</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createWriteStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt.gz'</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File Compressed."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<div>
<div>
<br /></div>
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">File Compressed.</pre>
<div>
<div>
<br /></div>
You will find that input.txt has been compressed and it created a file input.txt.gz in the current directory. Now let's try to decompress the same file using the following code −<br />
<div>
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> zlib </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'zlib'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Decompress the file input.txt.gz to input.txt</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createReadStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt.gz'</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">pipe</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">zlib</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createGunzip</span><span class="pun" style="box-sizing: border-box; color: #666600;">())</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">pipe</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createWriteStream</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"File Decompressed."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<div>
<div>
<br /></div>
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">File Decompressed.</pre>
<div>
<br />
<br />
<br /></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-54264797828217185322016-12-18T00:54:00.004-08:002016-12-18T02:59:31.035-08:00Node.js - Buffers<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<b><span style="font-size: large;">Node.js - Buffers</span></b></div>
<br />
<br />
Pure JavaScript is Unicode friendly, but it is not so for binary data. While dealing with TCP streams or the file system, it's necessary to handle octet streams. Node provides Buffer class which provides instances to store raw data similar to an array of integers but corresponds to a raw memory allocation outside the V8 heap.<br />
<br />
Buffer class is a global class that can be accessed in an application without importing the buffer module.<br />
<br />
<span style="font-size: large;"><b>Creating Buffers</b></span><br />
<br />
Node Buffer can be constructed in a variety of ways.<br />
<br />
<b><u>Method 1</u></b><br />
<br />
Following is the syntax to create an uninitiated Buffer of 10 octets −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">var buf = new Buffer(10);</pre>
<br />
<br />
<b><u>Method 2</u></b><br />
<br />
Following is the syntax to create a Buffer from a given array −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">var buf = new Buffer([10, 20, 30, 40, 50]);</pre>
<br />
<br />
<b><u>Method 3</u></b><br />
<br />
Following is the syntax to create a Buffer from a given string and optionally encoding type −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">var buf = new Buffer("Simply Easy Learning", "utf-8");</pre>
<br />
Though "utf8" is the default encoding, you can use any of the following encodings "ascii", "utf8", "utf16le", "ucs2", "base64" or "hex".<br />
<br />
<b><span style="font-size: large;">Writing to Buffers</span></b><br />
<br />
<b><u>Syntax</u></b><br />
<br />
Following is the syntax of the method to write into a Node Buffer −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.write(string[, offset][, length][, encoding])</pre>
<br />
<b><u>Parameters</u></b><br />
<br />
Here is the description of the parameters used −<br />
<br />
<ul style="text-align: left;">
<li><b>string</b> − This is the string data to be written to buffer.</li>
<li><b>offset</b> − This is the index of the buffer to start writing at. Default value is 0.</li>
<li><b>length</b> − This is the number of bytes to write. Defaults to buffer.length.</li>
<li><b>encoding</b> − Encoding to use. 'utf8' is the default encoding.</li>
</ul>
<b><u>Return Value</u></b><br />
<br />
This method returns the number of octets written. If there is not enough space in the buffer to fit the entire string, it will write a part of the string.<br />
<br />
<b><u>Example</u></b><br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="pln" style="box-sizing: border-box;">buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">256</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
len </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">write</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Simply Easy Learning"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Octets written : "</span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> len</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
When the above program is executed, it produces the following result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Octets written : 20</pre>
<br />
<b><span style="font-size: large;">Reading from Buffers</span></b><br />
<br />
<u><b>Syntax</b></u><br />
<br />
Following is the syntax of the method to read data from a Node Buffer −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.toString([encoding][, start][, end])</pre>
<br />
<b><u>Parameters</u></b><br />
<br />
Here is the description of the parameters used −<br />
<br />
<br />
<ul style="text-align: left;">
<li>encoding − Encoding to use. 'utf8' is the default encoding.</li>
<li>start − Beginning index to start reading, defaults to 0.</li>
<li>end − End index to end reading, defaults is complete buffer.</li>
</ul>
<br />
<br /><b><u>Return Value</u></b><br /><br />This method decodes and returns a string from buffer data encoded using the specified character set encoding.<br /><br /><b><u>Example</u></b><br /><br /><pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="pln" style="box-sizing: border-box;">buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">26</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">for</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> i </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;"> i </span><span class="pun" style="box-sizing: border-box; color: #666600;"><</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">26</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;"> i</span><span class="pun" style="box-sizing: border-box; color: #666600;">++)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">[</span><span class="pln" style="box-sizing: border-box;">i</span><span class="pun" style="box-sizing: border-box; color: #666600;">]</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> i </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">97</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'ascii'</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;"> </span><span class="com" style="box-sizing: border-box; color: #880000;">// outputs: abcdefghijklmnopqrstuvwxyz</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'ascii'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">5</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;"> </span><span class="com" style="box-sizing: border-box; color: #880000;">// outputs: abcde</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'utf8'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">5</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;"> </span><span class="com" style="box-sizing: border-box; color: #880000;">// outputs: abcde</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="kwd" style="box-sizing: border-box; color: #000088;">undefined</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">5</span><span class="pun" style="box-sizing: border-box; color: #666600;">));</span><span class="pln" style="box-sizing: border-box;"> </span><span class="com" style="box-sizing: border-box; color: #880000;">// encoding defaults to 'utf8', outputs abcde</span></pre>
<br />When the above program is executed, it produces the following result −<br /><br /><pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">abcdefghijklmnopqrstuvwxyz
abcde
abcde
abcde</pre>
<b><span style="font-size: large;"><br />Convert Buffer to JSON</span></b><br /><br />
<b><u>Syntax</u></b><br />
<br />
Following is the syntax of the method to convert a Node Buffer into JSON object −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.toJSON()</pre>
<br />
<b><u>Return Value</u></b><br />
<br />
This method returns a JSON-representation of the Buffer instance.<br />
<br />
<b><u>Example</u></b><br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buf </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Simply Easy Learning'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> json </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toJSON</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buf</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">json</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
When the above program is executed, it produces the following result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">[ 83, 105, 109, 112, 108, 121, 32, 69, 97, 115, 121, 32, 76, 101, 97, 114, 110, 105, 110,
103 ]</pre>
<br />
<span style="font-size: large;"><b>Concatenate Buffers</b></span><br />
<br />
<b><u>Syntax</u></b><br />
<br />
Following is the syntax of the method to concatenate Node buffers to a single Node Buffer −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Buffer.concat(list[, totalLength])</pre>
<br />
<b><u>Parameters</u></b><br />
<br />
Here is the description of the parameters used −<br />
<br />
<br />
<ul style="text-align: left;">
<li><b>list</b> − Array List of Buffer objects to be concatenated.</li>
<li><b>totalLength</b> − This is the total length of the buffers when concatenated.</li>
</ul>
<br />
<br />
<u><b>Return Value</b></u><br />
<br />
This method returns a Buffer instance.<br />
<br />
<b><u>Example</u></b><br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'TutorialsPoint '</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer2 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Simply Easy Learning'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer3 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">concat</span><span class="pun" style="box-sizing: border-box; color: #666600;">([</span><span class="pln" style="box-sizing: border-box;">buffer1</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">]);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"buffer3 content: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer3</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span></pre>
When the above program is executed, it produces the following result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buffer3 content: TutorialsPoint Simply Easy Learning</pre>
<br />
<b><span style="font-size: large;">Compare Buffers</span></b><br />
<br />
<b><u>Syntax</u></b><br />
<br />
Following is the syntax of the method to compare two Node buffers −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.compare(otherBuffer);</pre>
<br /><b><u>Parameters</u></b><br /><br />Here is the description of the parameters used −<br /><br /><ul style="text-align: left;">
<li><b>otherBuffer</b> − This is the other buffer which will be compared with buf</li>
</ul>
<div>
<br /></div>
<div>
<b><u>Return Value</u></b></div>
<div>
<br /></div>
<div>
Returns a number indicating whether it comes before or after or is the same as the otherBuffer in sort order.</div>
<div>
<br /></div>
<div>
<b><u>Example</u></b></div>
<div>
<br /></div>
<div>
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'ABC'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer2 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'ABCD'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> result </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> buffer1</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">compare</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">result </span><span class="pun" style="box-sizing: border-box; color: #666600;"><</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="str" style="box-sizing: border-box; color: #008800;">" comes before "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="kwd" style="box-sizing: border-box; color: #000088;">else</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">result </span><span class="pun" style="box-sizing: border-box; color: #666600;">==</span><span class="pln" style="box-sizing: border-box;"> </span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="str" style="box-sizing: border-box; color: #008800;">" is same as "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="kwd" style="box-sizing: border-box; color: #000088;">else</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="str" style="box-sizing: border-box; color: #008800;">" comes after "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span></pre>
</div>
<div>
<br /></div>
<div>
When the above program is executed, it produces the following result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">ABC comes before ABCD</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Copy Buffer </span></b></div>
<div>
<br /></div>
<div>
<b><u>Syntax</u></b></div>
<div>
<br /></div>
<div>
Following is the syntax of the method to copy a node buffer −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd])</pre>
</div>
<div>
<br /></div>
<div>
<b><u>Parameters</u></b></div>
<div>
<br /></div>
<div>
Here is the description of the parameters used −</div>
<br /><ul style="text-align: left;">
<li><b>targetBuffer</b> − Buffer object where buffer will be copied.</li>
<li><b>targetStart</b> − Number, Optional, Default: 0</li>
<li><b>sourceStart</b> − Number, Optional, Default: 0</li>
<li><b>sourceEnd</b> − Number, Optional, Default: buffer.length</li>
</ul>
<br /><b><u>Return Value</u></b><br /><div>
<br /></div>
<div>
No return value. Copies data from a region of this buffer to a region in the target buffer even if the target memory region overlaps with the source. If undefined, the targetStart and sourceStart parameters default to 0, while sourceEnd defaults to buffer.length.</div>
<div>
<br /></div>
<div>
<b><u>Example</u></b></div>
<div>
<br /></div>
<div>
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'ABC'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">//copy a buffer</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer2 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">3</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
buffer1</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">copy</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"buffer2 content: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span></pre>
</div>
<div>
<br /></div>
<div>
When the above program is executed, it produces the following result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buffer2 content: ABC</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Slice Buffer</span></b></div>
<div>
<br /></div>
<div>
<b><u>Syntax</u></b></div>
<div>
<br /></div>
<div>
Following is the syntax of the method to get a sub-buffer of a node buffer −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.slice([start][, end])</pre>
</div>
<div>
<br /></div>
<div>
<b><u>Parameters</u></b></div>
<div>
<br /></div>
Here is the description of the parameters used −<br /><ul style="text-align: left;">
<li><b>start</b> − Number, Optional, Default: 0</li>
<li><b>end</b> − Number, Optional, Default: buffer.length</li>
</ul>
<div>
<b><u>Return Value</u></b></div>
<div>
<br /></div>
<div>
Returns a new buffer which references the same memory as the old one, but offset and cropped by the start (defaults to 0) and end (defaults to buffer.length) indexes. Negative indexes start from the end of the buffer.</div>
<div>
<br /></div>
<div>
<b><u>Example</u></b></div>
<div>
<br /></div>
<div>
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'TutorialsPoint'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">//slicing a buffer</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer2 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> buffer1</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">slice</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">0</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="lit" style="box-sizing: border-box; color: #006666;">9</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"buffer2 content: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer2</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span></pre>
</div>
<div>
<br /></div>
<div>
When the above program is executed, it produces the following result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buffer2 content: Tutorials</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Buffer Length</span></b></div>
<div>
<br /></div>
<div>
<b><u>Syntax</u></b></div>
<div>
<br /></div>
<div>
Following is the syntax of the method to get a size of a node buffer in bytes −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buf.length;</pre>
</div>
<div>
<br /></div>
<div>
<b><u>Return Value</u></b></div>
<div>
<br /></div>
<div>
Returns the size of a buffer in bytes.</div>
<div>
<br /></div>
<div>
<b><u>Example</u></b></div>
<div>
<br /></div>
<div>
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> buffer </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> </span><span class="typ" style="box-sizing: border-box; color: #7f0055;">Buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'TutorialsPoint'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">//length of the buffer</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"buffer length: "</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> buffer</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">length</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
</div>
<div>
<br /></div>
<div>
When the above program is executed, it produces following result −</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">buffer length: 14</pre>
</div>
<div>
<br /></div>
<div>
<span style="font-size: large;"><b>Methods Reference</b></span></div>
<div>
<br /></div>
<div>
Following is a reference of Buffers module available in Node.js. For more detail, you can refer to the official documentation.</div>
<div>
<br /></div>
<b><u>new Buffer(size)</u></b><br />Allocates a new buffer of size octets. Note that the size must be no more than kMaxLength. Otherwise, a RangeError will be thrown here.<br /><br /><b><u>new Buffer(buffer)</u></b><br />Copies the passed buffer data onto a new Buffer instance.<br /><br /><b><u>new Buffer(str[, encoding])</u></b><br />Allocates a new buffer containing the given str. encoding defaults to 'utf8'.<br /><br /><b><u>buf.length</u></b><br />Returns the size of the buffer in bytes. Note that this is not necessarily the size of the contents. length refers to the amount of memory allocated for the buffer object. It does not change when the contents of the buffer are changed.<br /><br /><b><u>buf.write(string[, offset][, length][, encoding])</u></b><br />Writes a string to the buffer at offset using the given encoding. offset defaults to 0, encoding defaults to 'utf8'. length is the number of bytes to write. Returns the number of octets written.<br /><br /><b><u>buf.writeUIntLE(value, offset, byteLength[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset and byteLength. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of value and offset. Defaults to false.<br /><br /><b><u>buf.writeUIntBE(value, offset, byteLength[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset and byteLength. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of value and offset. Defaults to false.<br /><br /><b><u>buf.writeIntLE(value, offset, byteLength[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset and byteLength. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of value and offset. Defaults to false.<br /><br /><b><u>buf.writeIntBE(value, offset, byteLength[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset and byteLength. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of value and offset. Defaults to false.<br /><br /><b><u>buf.readUIntLE(offset, byteLength[, noAssert])</u></b><br />A generalized version of all numeric read methods. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of offset. It means that the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readUIntBE(offset, byteLength[, noAssert])</u></b><br />A generalized version of all numeric read methods. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of offset. It means that the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><div>
<b><u>buf.readIntLE(offset, byteLength[, noAssert])</u></b><br />A generalized version of all numeric read methods. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of offset. It means that the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readIntBE(offset, byteLength[, noAssert])</u></b><br />A generalized version of all numeric read methods. Supports up to 48 bits of accuracy. Set noAssert to true to skip validation of offset. It means that the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.toString([encoding][, start][, end])</u></b><br />Decodes and returns a string from buffer data encoded using the specified character set encoding.<br /><br /><b><u>buf.toJSON()</u></b><br />Returns a JSON-representation of the Buffer instance. JSON.stringify implicitly calls this function when stringifying a Buffer instance.<br /><br /><b><u>buf[index]</u></b><br />Get and set the octet at index. The values refer to individual bytes, so the legal range is between 0x00 and 0xFF hex or 0 and 255.<br /><br /><b><u>buf.equals(otherBuffer)</u></b><br />Returns a boolean if this buffer and otherBuffer have the same bytes.<br /><br /><b><u>buf.compare(otherBuffer)</u></b><br />Returns a number indicating whether this buffer comes before or after or is the same as the otherBuffer in sort order.<br /><br /><b><u>buf.copy(targetBuffer[, targetStart][, sourceStart][, sourceEnd])</u></b><br />Copies data from a region of this buffer to a region in the target buffer even if the target memory region overlaps with the source. If undefined, the targetStart and sourceStart parameters default to 0, while sourceEnd defaults to buffer.length.<br /><br /><b><u>buf.slice([start][, end])</u></b><br />Returns a new buffer which references the same memory as the old, but offset and cropped by the start (defaults to 0) and end (defaults to buffer.length) indexes. Negative indexes start from the end of the buffer.<br /><br /><b><u>buf.readUInt8(offset[, noAssert])</u></b><br />Reads an unsigned 8 bit integer from the buffer at the specified offset. Set noAssert to true to skip validation of offset. It means that the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readUInt16LE(offset[, noAssert])</u></b><br />Reads an unsigned 16-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readUInt16BE(offset[, noAssert])</u></b><br />Reads an unsigned 16-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readUInt32LE(offset[, noAssert])</u></b><br />Reads an unsigned 32-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readUInt32BE(offset[, noAssert])</u></b><br />Reads an unsigned 32-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readInt8(offset[, noAssert])</u></b><br />Reads a signed 8-bit integer from the buffer at the specified offset. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readInt16LE(offset[, noAssert])</u></b><br />Reads a signed 16-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readInt16BE(offset[, noAssert])</u></b><br />Reads a signed 16-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readInt32LE(offset[, noAssert])</u></b><br />Reads a signed 32-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readInt32BE(offset[, noAssert])</u></b><br />Reads a signed 32-bit integer from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readFloatLE(offset[, noAssert])</u></b><br />Reads a 32-bit float from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readFloatBE(offset[, noAssert])</u></b><br />Reads a 32-bit float from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readDoubleLE(offset[, noAssert])</u></b><br />Reads a 64-bit double from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.readDoubleBE(offset[, noAssert])</u></b><br />Reads a 64-bit double from the buffer at the specified offset with the specified endian format. Set noAssert to true to skip validation of offset. It means the offset may be beyond the end of the buffer. Defaults to false.<br /><br /><b><u>buf.writeUInt8(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset. Note that the value must be a valid unsigned 8-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeUInt16LE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid unsigned 16-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of correctness. Defaults to false.<br /><br /><b><u>buf.writeUInt16BE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid unsigned 16-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeUInt32LE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid unsigned 32-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeUInt32BE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid unsigned 32-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeInt8(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid signed 8-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeInt16LE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid signed 16-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeInt16BE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid signed 16-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeInt32LE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid signed 32-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeInt32BE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid signed 32-bit integer. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of correctness. Defaults to false.<br /><br /><b><u>buf.writeFloatLE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note that the value must be a valid 32-bit float. Set noAssert to true to skip validation of value and offset. It means that the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeFloatBE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note, value must be a valid 32-bit float. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeDoubleLE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note, value must be a valid 64-bit double. Set noAssert to true to skip validation of value and offset. It means that value may be too large for the specific function and offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.writeDoubleBE(value, offset[, noAssert])</u></b><br />Writes a value to the buffer at the specified offset with the specified endian format. Note, value must be a valid 64-bit double. Set noAssert to true to skip validation of value and offset. It means the value may be too large for the specific function and the offset may be beyond the end of the buffer leading to the values being silently dropped. It should not be used unless you are certain of its correctness. Defaults to false.<br /><br /><b><u>buf.fill(value[, offset][, end])</u></b><br />Fills the buffer with the specified value. If the offset (defaults to 0) and end (defaults to buffer.length) are not given, it will fill the entire buffer.<br /><br /><b><span style="font-size: large;">Class Methods</span></b><br /><br /><b><u>Buffer.isEncoding(encoding)</u></b><br />Returns true if the encoding is a valid encoding argument, false otherwise.<br /><br /><b><u>Buffer.isBuffer(obj)</u></b><br />Tests if obj is a Buffer.<br /><br /><u><b>Buffer.byteLength(string[, encoding])</b></u><br />Gives the actual byte length of a string. encoding defaults to 'utf8'. It is not the same as String.prototype.length, since String.prototype.length returns the number of characters in a string.<br /><br /><b><u>Buffer.concat(list[, totalLength])</u></b><br />Returns a buffer which is the result of concatenating all the buffers in the list together.<br /><br /><b><u>Buffer.compare(buf1, buf2)</u></b><br />The same as buf1.compare(buf2). Useful for sorting an array of buffers.<br /><br /><br /><div>
<br /></div>
</div>
<div>
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-31768961333850141882016-12-17T23:10:00.001-08:002016-12-17T23:37:42.778-08:00Node.js - Event Emitter<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - Event Emitter</b></span></div>
<br />
Many objects in a Node emit events, for example, a net.Server emits an event each time a peer connects to it, an fs.readStream emits an event when the file is opened. All objects which emit events are the instances of events.EventEmitter.<br />
<br />
<b><span style="font-size: large;">EventEmitter Class</span></b><br />
<br />
As we have seen in the previous section, EventEmitter class lies in the events module. It is accessible via the following code −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">// Import events module
var events = require('events');
// Create an eventEmitter object
var eventEmitter = new events.EventEmitter();</pre>
<br />
When an EventEmitter instance faces any error, it emits an 'error' event. When a new listener is added, 'newListener' event is fired and when a listener is removed, 'removeListener' event is fired.<br />
<br />
EventEmitter provides multiple properties like <b>on</b> and <b>emit</b>. <b>on</b> property is used to bind a function with the event and <b>emit</b> is used to fire an event.<br />
<br />
<span style="font-size: large;"><b>Methods</b></span><br />
<br />
<b><u>addListener(event, listener)</u></b><br />
<br />
Adds a listener at the end of the listeners array for the specified event. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of event and listener will result in the listener being added multiple times. Returns emitter, so calls can be chained.<br />
<b><br /></b>
<b><u>on(event, listener)</u></b><br />
<br />
Adds a listener at the end of the listeners array for the specified event. No checks are made to see if the listener has already been added. Multiple calls passing the same combination of event and listener will result in the listener being added multiple times. Returns emitter, so calls can be chained.<br />
<b><br /></b>
<b><u>once(event, listener)</u></b><br />
<br />
Adds a one time listener to the event. This listener is invoked only the next time the event is fired, after which it is removed. Returns emitter, so calls can be chained.<br />
<br />
<b><u>removeListener(event, listener)</u></b><br />
<br />
Removes a listener from the listener array for the specified event. Caution − It changes the array indices in the listener array behind the listener. removeListener will remove, at most, one instance of a listener from the listener array. If any single listener has been added multiple times to the listener array for the specified event, then removeListener must be called multiple times to remove each instance. Returns emitter, so calls can be chained.<br />
<br />
<b><u>removeAllListeners([event])</u></b><br />
<br />
Removes all listeners, or those of the specified event. It's not a good idea to remove listeners that were added elsewhere in the code, especially when it's on an emitter that you didn't create (e.g. sockets or file streams). Returns emitter, so calls can be chained.<br />
<br />
<b><u>setMaxListeners(n)</u></b><br />
<br />
By default, EventEmitters will print a warning if more than 10 listeners are added for a particular event. This is a useful default which helps finding memory leaks. Obviously not all Emitters should be limited to 10. This function allows that to be increased. Set to zero for unlimited.<br />
<br />
<b><u>listeners(event)</u></b><br />
<br />
Returns an array of listeners for the specified event.<br />
<br />
<b><u>emit(event, [arg1], [arg2], [...])</u></b><br />
<br />
Execute each of the listeners in order with the supplied arguments. Returns true if the event had listeners, false otherwise.<br />
<br />
<br />
<span style="font-size: large;"><b>Class Methods</b></span><br />
<br />
<b><u>listenerCount(emitter, event)</u></b><br />
<br />
Returns the number of listeners for a given event.<br />
<br />
<span style="font-size: large;"><b>Events</b></span><br />
<u><b>newListener</b></u><br />
<br />
<br />
<ol style="text-align: left;">
<li><b>event</b> − String: the event name </li>
<li><b>listener</b> − Function: the event handler function</li>
</ol>
<br />
This event is emitted any time a listener is added. When this event is triggered, the listener may not yet have been added to the array of listeners for the event.<br />
<br />
<b><u>removeListener</u></b><br />
<ol style="text-align: left;">
<li><b>event</b> − String The event name</li>
<li><b>listener</b> − Function The event handler function</li>
</ol>
<br />
This event is emitted any time someone removes a listener. When this event is triggered, the listener may not yet have been removed from the array of listeners for the event.<br />
<br />
<b><span style="font-size: large;">Example</span></b><br />
<br />
Create a js file named main.js with the following Node.js code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> events </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'events'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> eventEmitter </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> events</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="typ" style="box-sizing: border-box; color: #7f0055;">EventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">();</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// listener #1</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> listner1 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> listner1</span><span class="pun" style="box-sizing: border-box; color: #666600;">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'listner1 executed.'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// listener #2</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> listner2 </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> listner2</span><span class="pun" style="box-sizing: border-box; color: #666600;">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'listner2 executed.'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Bind the connection event with the listner1 function</span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">addListener</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> listner1</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Bind the connection event with the listner2 function</span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> listner2</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> eventListeners </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'events'</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="typ" style="box-sizing: border-box; color: #7f0055;">EventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">listenerCount
</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">eventListeners </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">" Listner(s) listening to connection event"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Fire the connection event </span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">emit</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Remove the binding of listner1 function</span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">removeListener</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> listner1</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Listner1 will not listen now."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Fire the connection event </span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">emit</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
eventListeners </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'events'</span><span class="pun" style="box-sizing: border-box; color: #666600;">).</span><span class="typ" style="box-sizing: border-box; color: #7f0055;">EventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">listenerCount</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">eventListeners </span><span class="pun" style="box-sizing: border-box; color: #666600;">+</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">" Listner(s) listening to connection event"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">2 Listner(s) listening to connection event
listner1 executed.
listner2 executed.
Listner1 will not listen now.
listner2 executed.
1 Listner(s) listening to connection event
Program Ended.</pre>
<br />
<br />
<br />
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-23433497084140963972016-12-17T23:00:00.001-08:002016-12-17T23:06:08.961-08:00Node.js - Event Loop<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - Event Loop</b></span></div>
<br />
<br />
Node.js is a single-threaded application, but it can support concurrency via the concept of <b>event</b> and <b>callbacks</b>.<br />
<br />
Every API of Node.js is asynchronous and being single-threaded, they use <b>async function calls</b> to maintain concurrency. Node uses observer pattern.<br />
<br />
Node thread keeps an event loop and whenever a task gets completed, it fires the corresponding event which signals the event-listener function to execute.<br />
<br />
<span style="font-size: large;"><b>Event-Driven Programming</b></span><br />
<br />
Node.js uses events heavily and it is also one of the reasons why Node.js is pretty fast compared to other similar technologies. As soon as Node starts its server, it simply initiates its variables, declares functions and then simply waits for the event to occur.<br />
<br />
In an event-driven application, there is generally a main loop that listens for events, and then triggers a callback function when one of those events is detected.<br />
<br />
<div style="text-align: center;">
<img border="0" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyQSwj6pg7pHVetVfqPvdrZ8f5d1R4dzbn6Q8swuqoZUOiXZihVwIdC2NXZNd0v75mxonr_G0fomTbCL_IXjabGmXC3odH_zcfBmgR71JiXgkzwMZ51RJgatCY3asdcg80aDbugDbWiemV/s640/event_loop.jpg" width="640" /></div>
<br />
Although events look quite similar to callbacks, the difference lies in the fact that callback functions are called when an asynchronous function returns its result, whereas event handling works on the observer pattern. The functions that listen to events act as <b>Observers</b>. Whenever an event gets fired, its listener function starts executing. Node.js has multiple in-built events available through events module and EventEmitter class which are used to bind events and event-listeners as follows −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">// Import events module
var events = require('events');
// Create an eventEmitter object
var eventEmitter = new events.EventEmitter();</pre>
<br />
Following is the syntax to bind an event handler with an event −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">// Bind event and even handler as follows
eventEmitter.on('eventName', eventHandler);</pre>
<br />
We can fire an event programmatically as follows −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">// Fire an event
eventEmitter.emit('eventName');</pre>
<br />
<b><span style="font-size: large;">Example</span></b><br />
<br />
Create a js file named main.js with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;"><span class="com" style="box-sizing: border-box; color: #880000;">// Import events module</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> events </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'events'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create an eventEmitter object</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> eventEmitter </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">new</span><span class="pln" style="box-sizing: border-box;"> events</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="typ" style="box-sizing: border-box; color: #7f0055;">EventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">();</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Create an event handler as follows</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> connectHandler </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> connected</span><span class="pun" style="box-sizing: border-box; color: #666600;">()</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection succesful.'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Fire the data_received event </span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">emit</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'data_received'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Bind the connection event with the handler</span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> connectHandler</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Bind the data_received event with the anonymous function</span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">on</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'data_received'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pun" style="box-sizing: border-box; color: #666600;">(){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'data received succesfully.'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Fire the connection event </span><span class="pln" style="box-sizing: border-box;">
eventEmitter</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">emit</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'connection'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended."</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now let's try to run the above program and check its output −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ mnode main.js</pre>
<br />
IT should produce the following result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">connection successful.
data received successfully.
Program Ended.</pre>
<span style="font-size: large;"><b><br /></b></span>
<span style="font-size: large;"><b>How Node Applications Work?</b></span><br />
<br />
In Node Application, any async function accepts a callback as the last parameter and a callback function accepts an error as the first parameter. Let's revisit the previous example again. Create a text file named input.txt with the following content.<br />
<br />
<pre class="prettyprint notranslate prettyprinted" id="input_txt" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="typ" style="box-sizing: border-box; color: #7f0055;">Tutorials</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">is</span><span class="pln" style="box-sizing: border-box;"> giving </span><span class="kwd" style="box-sizing: border-box; color: #000088;">self</span><span class="pln" style="box-sizing: border-box;"> learning content
to teach the world </span><span class="kwd" style="box-sizing: border-box; color: #000088;">in</span><span class="pln" style="box-sizing: border-box;"> simple </span><span class="kwd" style="box-sizing: border-box; color: #000088;">and</span><span class="pln" style="box-sizing: border-box;"> easy way</span><span class="pun" style="box-sizing: border-box; color: #666600;">!!!!!</span></pre>
<br />
Create a js file named main.js having the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">){</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">stack</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pun" style="box-sizing: border-box; color: #666600;">;</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Here fs.readFile() is a async function whose purpose is to read a file. If an error occurs during the read operation, then the <b>err object</b> will contain the corresponding error, else data will contain the contents of the file. <b>readFile</b> passes err and data to the callback function after the read operation is complete, which finally prints the content.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Program Ended
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<br />
<br />
<br /></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-76043156518822376972016-12-07T07:54:00.001-08:002016-12-17T00:25:28.129-08:00Node.js - Callbacks Concept<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;"><b>Node.js - Callbacks Concept</b></span></div>
<br />
<br />
<b><span style="font-size: large;">What is Callback?</span></b><br />
<br />
<ol style="text-align: left;">
<li>Callback is an asynchronous equivalent for a function.</li>
<li>A callback function is called at the completion of a given task.</li>
<li>Node makes heavy use of callbacks.</li>
<li>All the APIs of Node are written in such a way that they support callbacks.</li>
</ol>
<br />
Other types of callback explanation<br />
<br />
<ol style="text-align: left;">
<li>Node.js, being an asynchronous platform, doesn't wait around for things like file I/O to finish</li>
<li><b>Node.js</b> uses <b>callbacks</b>.</li>
<li>A callback is a function called at the completion of a given task.</li>
<li>Callback prevents any blocking, and allows other code to be run in the meantime or same time.</li>
</ol>
<br />
For example, a function to read a file may start <b>reading file</b> and return the control to the execution environment immediately so that the next instruction can be executed.<br />
Once file I/O is complete, it will call the callback function while passing the callback function, the content of the file as a parameter.<br />
So there is no blocking or wait for File I/O.<br />
This makes Node.js highly <b>scalable</b>, as it can process a <b>high </b>number of requests without waiting for any function to <b>return results</b>.<br />
<br />
<b><span style="font-size: large;">Blocking Code Example</span></b><br />
<br />
Create a text file named input.txt with the following content −<br />
<br />
<pre class="result notranslate" id="input_txt" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;"> A function to read a file may start <b style="color: black; font-family: "Times New Roman"; font-size: medium; white-space: normal;">reading file</b><span style="color: black; font-family: "Times New Roman"; font-size: small; white-space: normal;"> and return the control to the execution environment immediately so that the next instruction can be executed.</span></pre>
<br />
Create a js file named main.js with the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> data </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFileSync</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" id="input_txt" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;"> A function to read a file may start <b style="color: black; font-family: "Times New Roman"; font-size: medium; white-space: normal;">reading file</b><span style="color: black; font-family: "Times New Roman"; font-size: small; white-space: normal;"> and return the control to the execution environment immediately so that the next instruction can be executed.</span></pre>
<br />
<span style="font-size: large;"><b>Non-Blocking Code Example</b></span><br />
<br />
Create a text file named input.txt with the following content.<br />
<br />
<pre class="result notranslate" id="input_txt" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; overflow: auto; padding: 5px; width: 604px;"><span style="color: #313131; font-family: Menlo, Monaco, Consolas, Courier New, monospace;"><span style="font-size: 12px;"> A function to read a file may start </span></span><b style="color: black; font-family: "Times New Roman"; font-size: medium; white-space: normal;">reading file</b><span style="font-family: Times New Roman;"><span style="white-space: normal;"> and return the control to the execution environment immediately so that the next instruction can be executed.
Program Ended</span></span></pre>
<br />
Update main.js to have the following code −<br />
<br />
<pre class="prettyprint notranslate tryit prettyprinted" style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 37px; overflow: auto; padding: 5px; width: 604px;" title="input_txt"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> fs </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"fs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
fs</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">readFile</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'input.txt'</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> data</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="kwd" style="box-sizing: border-box; color: #000088;">if</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">return</span><span class="pln" style="box-sizing: border-box;"> console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">error</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">err</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">data</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">toString</span><span class="pun" style="box-sizing: border-box; color: #666600;">());</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"Program Ended"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
Now run the main.js to see the result −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">$ node main.js</pre>
<br />
Verify the Output.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Program Ended
Tutorials Point is giving self learning content
to teach the world in simple and easy way!!!!!</pre>
<br />
<br />
These two examples explain the concept of blocking and non-blocking calls.<br />
<br />
<br />
<ol style="text-align: left;">
<li>The first example shows that the program blocks until it reads the file and then only it proceeds to end the program.</li>
<li>The second example shows that the program does not wait for file reading and proceeds to print "Program Ended" and at the same time, the program without blocking continues reading the file.</li>
</ol>
<br />
Thus, a blocking program executes very much in sequence. From the programming point of view, it is easier to implement the logic but non-blocking programs do not execute in sequence. In case a program needs to use any data to be processed, it should be kept within the same block to make it sequential execution.<br />
<br /></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-58713270270992425762016-12-07T07:11:00.003-08:002016-12-07T07:11:46.606-08:00Node.js - NPM (Node Package Manager)<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<b><span style="font-size: large;">Node.js - NPM (</span></b><span style="text-align: left;"><span style="font-size: large;"><b>Node Package Manager</b></span></span><b><span style="font-size: large;">)</span></b></div>
<br />
<br />
<ol style="text-align: left;">
<li>Online repositories for node.js packages/modules</li>
<li>Command line utility to install Node.js packages, do version management and dependency management of Node.js packages.</li>
</ol>
<br />
To Check Node Version<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">Open Command line and type
$ npm --version
2.7.1</pre>
<br />
<b><span style="font-size: large;">Installing Modules using NPM</span></b><br />
<br />
There is a simple syntax to install any Node.js module :<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm install (Module Name)
Example : npm install express</pre>
<br />
Now you can use this module in your js file as following<br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> express </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'express'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
<br />
<b><span style="font-size: large;">Uninstalling a Module</span></b><br />
<div>
<br /></div>
<div>
Use the following command to uninstall a Node.js module.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm uninstall express</pre>
</div>
<div>
<br /></div>
<div>
Once NPM uninstalls the package, you can verify it by looking at the content of /node_modules/ directory or type the following command</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm ls</pre>
</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Updating a Module</span></b></div>
<div>
<br /></div>
<div>
Update package.json and change the version of the dependency to be updated and run the following command.</div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm update express</pre>
</div>
<div>
<br /></div>
<div>
<b><span style="font-size: large;">Search a Module</span></b></div>
<div>
<br /></div>
<div>
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm search express</pre>
</div>
<div>
<br /></div>
<div>
<br /></div>
<b><span style="font-size: large;">Global vs Local Installation</span></b><br />
<br />
<br />
<ul style="text-align: left;">
<li>NPM installs any dependency in the local mode.</li>
<li>Here local mode refers to the package installation in node_modules directory lying in the folder.</li>
<li>Locally deployed packages are accessible via <b>require()</b> method.</li>
<li><b>npm ls</b> command to list down all the locally installed modules.</li>
</ul>
<br />
<ul style="text-align: left;">
<li>Globally installed packages/dependencies are stored in system directory.</li>
<li>Such dependencies can be used in CLI (Command Line Interface) function of any node.js but cannot be imported using require() in Node application directly.</li>
</ul>
<br />
Now let's try installing the express module using global installation.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm install express -g</pre>
<br />
After execute this command line.<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;"><b style="box-sizing: border-box;">express@4.12.2 /usr/lib/node_modules/express</b>
├── merge-descriptors@1.0.0
├── utils-merge@1.0.0
├── cookie-signature@1.0.6
├── methods@1.1.1
├── fresh@0.2.4
├── cookie@0.1.2
├── escape-html@1.0.1
├── range-parser@1.0.2
├── content-type@1.0.1
├── finalhandler@0.3.3
├── vary@1.0.0
├── parseurl@1.3.0
├── content-disposition@0.5.0
├── path-to-regexp@0.1.3
├── depd@1.0.0
├── qs@2.3.3
├── on-finished@2.2.0 (ee-first@1.1.0)
├── etag@1.5.1 (crc@3.2.1)
├── debug@2.1.3 (ms@0.7.0)
├── proxy-addr@1.0.7 (forwarded@0.1.0, ipaddr.js@0.1.9)
├── send@0.12.1 (destroy@1.0.3, ms@0.7.0, mime@1.3.4)
├── serve-static@1.9.2 (send@0.12.2)
├── accepts@1.2.5 (negotiator@0.5.1, mime-types@2.0.10)
└── type-is@1.6.1 (media-typer@0.3.0, mime-types@2.0.10)</pre>
<br />
You can use the following command to check all the modules installed globally<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">npm ls -g</pre>
<br />
<b><span style="font-size: large;">Using package.json</span></b><br />
<br />
package.json is present in the root directory of any Node application/module and is used to define the properties of a package.<br />
<br />
Let's open package.json of express package present in <b>node_modules/express/</b><br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"license"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"MIT"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"repository"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"type"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"git"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"url"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"https://github.com/strongloop/express"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"homepage"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"https://expressjs.com/"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"keywords"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">[</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"express"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"framework"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"sinatra"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"web"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"rest"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"restful"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"router"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"app"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"api"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">],</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"dependencies"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"accepts"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.2.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"content-disposition"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.5.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"cookie-signature"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"1.0.5"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"debug"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~2.1.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"depd"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.0.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"escape-html"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"1.0.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"etag"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.5.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"finalhandler"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.3.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"fresh"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.2.4"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"media-typer"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.3.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"methods"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.1.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"on-finished"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~2.2.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"parseurl"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.3.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"path-to-regexp"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.1.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"proxy-addr"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.0.6"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"qs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"2.3.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"range-parser"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.0.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"send"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.11.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"serve-static"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.8.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"type-is"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.5.6"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"vary"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.0.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"cookie"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.1.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"merge-descriptors"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.0.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"utils-merge"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"1.0.0"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"devDependencies"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"after"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.8.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"ejs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"2.1.4"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"istanbul"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.3.5"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"marked"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"0.3.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"mocha"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~2.1.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"should"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~4.6.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"supertest"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~0.15.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"hjs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~0.0.6"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"body-parser"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.11.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"connect-redis"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~2.2.0"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"cookie-parser"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.3.3"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"express-session"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.10.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"jade"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.9.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"method-override"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~2.3.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"morgan"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~1.5.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"multiparty"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~4.1.1"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"vhost"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"~3.0.0"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"engines"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"node"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">">= 0.10.0"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"files"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">[</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"LICENSE"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"History.md"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"Readme.md"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"index.js"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"lib/"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">],</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"gitHead"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"63ab25579bda70b4927a179b580a9c580b6c7ada"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"bugs"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"url"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"https://github.com/strongloop/express/issues"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_id"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"express@4.11.2"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_shasum"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"8df3d5a9ac848585f00a0777601823faecd3b148"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_from"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"express@*"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_npmVersion"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"1.4.28"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_npmUser"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"name"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"dougwilson"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"email"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"doug@somethingdoug.com"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"directories"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{},</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"_resolved"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"https://registry.npmjs.org/express/-/express-4.11.2.tgz"</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;">
</span><span class="str" style="box-sizing: border-box; color: #008800;">"readme"</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">"ERROR: No README data found!"</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}</span></pre>
<br />
<b><span style="font-size: large;">Attributes of Package.json</span></b><br />
<br />
<b>name :</b> name of the package<br /><b>version :</b> version of the package<br /><b>description :</b> description of the package<br /><b>homepage :</b> homepage of the package<br /><b>author :</b> author of the package<br /><b>contributors :</b> name of the contributors to the package<br /><b>dependencies :</b> list of dependencies. NPM automatically installs all the dependencies mentioned here in the node_module folder of the package.<br /><b>repository :</b> repository type and URL of the package<br /><b>main :</b> entry point of the package<br /><b>keywords :</b> keywords<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-77226972583864121192016-12-07T02:25:00.000-08:002016-12-07T02:25:06.626-08:00Node.js - First Application<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;">Node.js - First Application</span></div>
<br />
<br />
A Node.js application consists of the following three important components<br />
<ol style="text-align: left;">
<li><b>Import required modules −</b> We use the require directive to load Node.js modules.</li>
<li><b>Create server −</b> A server which will listen to client's requests similar to Apache HTTP Server.</li>
<li><b>Read request and return response −</b> The server created in an earlier step will read the HTTP request made by the client which can be a browser or a console and return the response.</li>
</ol>
<br />
<b><span style="font-size: large;">Creating Node.js Application : </span></b><br />
<br />
Initially install http server using command as <b>npm install http</b><br />
<br />
<b>Step 1 - Import Required Module :</b><br />
We use the <b>require</b> directive to load the <b>http </b>module and store the returned HTTP instance into an http variable as follows −<br />
<br />
<pre class="result notranslate" style="background-color: #f1f1f1; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px; overflow: auto; padding: 5px; width: 604px;">var http = require("http");</pre>
<br />
<div>
<br /></div>
<b>Step 2 - Create Server</b><br />
<br />
We use the created <b>http</b> instance and call <b>http.createServer()</b> method to create a server instance and then we bind it at port 3000 using the <b>listen method</b> associated with the server instance. Pass it a function with parameters request and response. Write the sample implementation to always return "Hello World".<br />
<div>
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="pln" style="box-sizing: border-box;">http</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createServer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">request</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> response</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Send the HTTP header </span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// HTTP Status: 200 : OK</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Content Type: text/plain</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">writeHead</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">200</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="str" style="box-sizing: border-box; color: #008800;">'Content-Type'</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'text/plain'</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Send the response body as "Hello World"</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="kwd" style="box-sizing: border-box; color: #000088;">end</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Hello World\n'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}).</span><span class="pln" style="box-sizing: border-box;">listen</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">3000</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Console will print the message</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Server running at http://127.0.0.1:3000/'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
The above code is enough to create an HTTP server which listens, i.e., waits for a request over 3000 port on the local machine.<br />
<br />
<b>Step 3 - Testing Request & Response </b><br />
Let's put step 1 and 2 together in a file called app.js and start our HTTP server as shown below −<br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="kwd" style="box-sizing: border-box; color: #000088;">var</span><span class="pln" style="box-sizing: border-box;"> http </span><span class="pun" style="box-sizing: border-box; color: #666600;">=</span><span class="pln" style="box-sizing: border-box;"> </span><span class="kwd" style="box-sizing: border-box; color: #000088;">require</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">"http"</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
http</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">createServer</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="kwd" style="box-sizing: border-box; color: #000088;">function</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="pln" style="box-sizing: border-box;">request</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> response</span><span class="pun" style="box-sizing: border-box; color: #666600;">)</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Send the HTTP header </span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// HTTP Status: 200 : OK</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Content Type: text/plain</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">writeHead</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="lit" style="box-sizing: border-box; color: #006666;">200</span><span class="pun" style="box-sizing: border-box; color: #666600;">,</span><span class="pln" style="box-sizing: border-box;"> </span><span class="pun" style="box-sizing: border-box; color: #666600;">{</span><span class="str" style="box-sizing: border-box; color: #008800;">'Content-Type'</span><span class="pun" style="box-sizing: border-box; color: #666600;">:</span><span class="pln" style="box-sizing: border-box;"> </span><span class="str" style="box-sizing: border-box; color: #008800;">'text/plain'</span><span class="pun" style="box-sizing: border-box; color: #666600;">});</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Send the response body as "Hello World"</span><span class="pln" style="box-sizing: border-box;">
response</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="kwd" style="box-sizing: border-box; color: #000088;">end</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Hello World\n'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="pun" style="box-sizing: border-box; color: #666600;">}).</span><span class="pln" style="box-sizing: border-box;">listen</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span>3000<span class="pun" style="box-sizing: border-box; color: #666600;">);</span><span class="pln" style="box-sizing: border-box;">
</span><span class="com" style="box-sizing: border-box; color: #880000;">// Console will print the message</span><span class="pln" style="box-sizing: border-box;">
console</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">log</span><span class="pun" style="box-sizing: border-box; color: #666600;">(</span><span class="str" style="box-sizing: border-box; color: #008800;">'Server running at http://127.0.0.1:3000/'</span><span class="pun" style="box-sizing: border-box; color: #666600;">);</span></pre>
Now execute the app.js to start the server as follows −<br />
<br />
<pre class="prettyprint notranslate prettyprinted" style="background-color: #eeeeee; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; overflow: auto; padding: 5px; width: 604px;"><span class="pln" style="box-sizing: border-box;">$ node app</span><span class="pun" style="box-sizing: border-box; color: #666600;">.</span><span class="pln" style="box-sizing: border-box;">js (or) node app.js</span></pre>
<br />
Verify the Output. Server has started.<br />
<br />
Server running at http://127.0.0.1:3000/. Open the browser and past the link.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcjRdXxEX-szi6ioxQPmRHEsg8ry6mD2SbOtXkpBWAJJNFAN3qIWED3bfQ9LlZqzL5-2NMlaCcjoksiID_ByQIJCuvluMQgofenGmd66o1_85AhFGgaFgE-i-XmdtXc_UqJO-7OyabZIQK/s320/Hello+World.PNG" width="320" /></div>
<br />
<br />
<br />
<br /></div>
</div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-69439374908391327262016-12-06T23:52:00.001-08:002016-12-07T02:15:37.762-08:00Node.js - Installations<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div style="text-align: center;">
<span style="font-size: large;">Node.js - Installations</span></div>
<br />
15 Easy steps to setup and Installation of Node Js<br />
<ol style="text-align: left;">
<li>Download Node js from below url (stable version) </li>
<ol><div>
URL : <a href="https://nodejs.org/en/">https://nodejs.org/en/</a></div>
<div>
OR</div>
<div>
<a href="https://nodejs.org/en/download/stable/">https://nodejs.org/en/download/stable/</a></div>
<div>
<a href="http://expressjs.com/en/starter/generator.html">http://expressjs.com/en/starter/generator.html</a></div>
<div>
<br /></div>
</ol>
<li>Install node js in local system (c drive). </li>
<li>Open cmd prompt </li>
<li>Write command : npm install express-generator –g (-g global installation) -> Only once in a system </li>
<li>Open cmd in htdocs folder </li>
<li>Enter command : “express surgy” in cmd prompt (surgy -> project name). </li>
<li>Created sury folder in htdocs. </li>
<li>Goto surgy folder open cmd prompt </li>
<li>Installing node modules. </li>
<li>Enter command : “npm install -i” </li>
<li>And enter command : “npm install body-parser” (dependencies) </li>
<li>And enter command : “npm install method-override” (dependencies) </li>
<li>And enter command : “npm start” </li>
<li>And enter command : “npm install ejs” (To call html files, by default it read “.jade” format files ) </li>
<li>Go to browser type url : <a href="http://127.0.0.1:3000/">http://127.0.0.1:3000</a> (3000 default port) or localhost:3000 </li>
</ol>
<br />
<div style="text-align: center;">
<img border="0" height="207" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7UgKUYPQvhhZVp8OM9KWINY6muZFw-JQCdFSlvzqb1L_fekLzSmadkKDoI3BrIMFxOp_h1T6XpNSxSrfSiL7i5S0h2FCx0qMazeLq9bkZ9LlDK2Z3KRUy0dt7eL4TDJ37p5iw5w3HPwMa/s320/welcome+to+express.png" width="320" /></div>
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<br /></div>
<br />
<br /></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-52855797608104797572016-12-04T06:56:00.000-08:002016-12-06T08:51:06.879-08:00Node.js - Introduction<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: center;">
<br /></div>
<div style="text-align: center;">
<b><span style="font-size: large;">Node.js - Introduction</span></b></div>
<br />
Node.js is a very powerful JavaScript-based framework/platform built on Google Chrome's JavaScript V8 Engine.<br />
<br />
<span id="docs-internal-guid-143f2a20-ca45-8855-7bdf-857c79eab980"><span style="font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;">It is an java script technology,which we will use server side programming.</span></span><br />
<div>
<span style="font-family: "arial"; font-size: 14.6667px; white-space: pre-wrap;">Java script majorly executed on client side.</span></div>
<span style="font-family: "arial"; font-size: 14.6667px; white-space: pre-wrap;">Java script based framework and provide run time environment.</span><br />
<div>
<br /></div>
It is used to develop I/O (Input/Output) intensive web applications like video streaming sites, single-page applications, and other web applications.<br />
<br />
Node.js is open source, completely free, and used by thousands of developers around the world <span style="font-family: "arial"; font-size: 14.6667px; white-space: pre-wrap;">and customize as per requirement</span>.<br />
<br />
<span style="font-family: "arial"; font-size: 14.6667px; white-space: pre-wrap;">Node js is a library and provide run time environment.</span><br />
<span style="font-family: "arial"; font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><br /></span>
<span style="font-size: 14.6667px; vertical-align: baseline; white-space: pre-wrap;"><span style="font-family: "arial";">Node js is performing operations/things in server side. (it is a server side platform).</span></span><br />
<div style="text-align: center;">
<br /></div>
<br />
<pre style="background: url("/nodejs/images/try-it.jpg") right top no-repeat rgb(238, 238, 238) !important; border-radius: 0px; border: 1px solid rgb(214, 214, 214); box-sizing: border-box; color: #313131; cursor: default; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 13px; line-height: 16px; margin-bottom: 10px; min-height: 23px; overflow: auto; padding: 5px; width: 604px;"><span class="pln" style="box-sizing: border-box;"><b style="color: black; font-family: "Times New Roman"; font-size: medium; text-align: center; white-space: normal;">Node.js = Runtime Environment + JavaScript Library</b></span></pre>
<br />
<span style="font-size: large;"><b>What Is Node JS ?</b></span><br />
<br />
Node.js is a server-side platform built on Google Chrome's JavaScript Engine (V8 Engine).<br />
Node.js was developed by Ryan Dahl in 2009.<br />
<br />
Node.js applications are written in JavaScript, and can be run within the Node.js runtime on OS X, Microsoft Windows, and Linux.<br />
<br />
Node.js also provides a rich library of various JavaScript modules which simplifies the development of web applications using Node.js.<br />
<br />
<b><span style="font-size: large;">Features of Node.js</span></b><br />
<br />
<b>Asynchronous and Event Driven : </b><br />
All APIs of Node.js library are asynchronous.<br />
Node.js based server never waits for an API to return data.<br />
The server moves to the next API after calling it and a notification mechanism of Events of Node.js<br />helps the server to get a response from the previous API call.<br /><br /><b>Very Fast : </b><br />
Being built on Google Chrome's V8 JavaScript Engine, Node.js library is very fast in code execution.<br /><br /><b>Highly Scalable : </b><br />Node.js uses a single threaded model with event looping.<br />
Event mechanism helps the server to respond in a non-blocking way and makes the server highly scalable as opposed to traditional servers which create limited threads to handle requests.<br /><br /><b>Single Threaded :</b><br />Node.js uses a single threaded program and the same program can provide service to a much larger number of requests than traditional servers like Apache HTTP Server.<br /><br /><b>No Buffering : </b><br />
Node.js applications never buffer any data. These applications simply output the data in chunks.<br /><br />
<b><span style="font-size: large;">When to use node js ?</span></b><br />
<br />
<ul style="text-align: left;">
<li>For streaming or event based applications</li>
</ul>
<blockquote class="tr_bq">
<ul style="text-align: left;">
<li>Chat application </li>
<li>Game servers</li>
<li>Streaming servers</li>
</ul>
</blockquote>
<br />
<ul style="text-align: left;">
<li>Single Page Applications</li>
<li>JSON APIs based Applications</li>
<li>Data Intensive Real-time Applications (DIRT)</li>
<li>I/O bound Applications</li>
</ul>
<br />
<br />
<b><span style="font-size: large;">Where Not to Use Node.js? </span></b><br />
It is not advisable to use Node.js for CPU intensive applications.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
swathichittihttp://www.blogger.com/profile/10971206272176611892noreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-9902076654226021102016-04-29T09:24:00.001-07:002016-04-29T09:24:12.745-07:00The unit’s digit in the product 274 x 318 x 577 x 313 is :<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
The unit’s digit in the product 274 x 318 x 577 x 313 is :<br />
<br />
A. 2<br />
<br />
B. 3<br />
<br />
C. 4<br />
<br />
D. 5<br />
<br />
Correct Answer : <br />
2<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/number-series/961.html">Click Here</a><br />
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com1tag:blogger.com,1999:blog-1109656761864078514.post-69587337475491010862016-04-29T09:23:00.000-07:002016-04-29T09:23:02.728-07:007 x ? =29.05<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
7 x ? =29.05<br />
<br />
A. 4.05<br />
<br />
B. 4.15<br />
<br />
C. 3.95<br />
<br />
D. 4.28<br />
<br />
E. None of these<br />
<br />
Correct Answer : <br />
4.15<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/number-series/959.html">Click Here</a><br />
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-47745012115335667792016-04-29T09:22:00.000-07:002016-04-29T09:22:02.255-07:000.02 x 0.5 = ?<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
0.02 x 0.5 = ?<br />
<br />
A. 0.0001<br />
<br />
B. 0.001<br />
<br />
C. 0.01<br />
<br />
D. 0.1<br />
<br />
Correct Answer : <br />
0.001<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/number-series/958.html">Click Here</a><br />
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-12871234839089386472016-04-29T09:20:00.001-07:002016-04-29T09:20:33.846-07:00Hitesh is 40 years old and Ronnie is 60 years old. How many years ago was the ratio of their ages 3 : 5 ?<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Hitesh is 40 years old and Ronnie is 60 years old. How many years ago was the ratio of their ages 3 : 5 ?<br />
<br />
A. 5 years<br />
<br />
B. 10 years<br />
<br />
C. 20 years<br />
<br />
D. 37 years<br />
<br />
Correct Answer : <br />
10 years<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/ratio-and-proportion/957.html">Click Here</a><br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-52956305588046099562016-04-29T09:16:00.003-07:002016-04-29T09:16:47.447-07:00If (√3)5 x 92 = 3n x 3√3, then the value of n is:<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
If (√3)5 x 92 = 3n x 3√3, then the value of n is:<br />
<br />
A. 2<br />
<br />
B. 3<br />
<br />
C. 4<br />
<br />
D. 5<br />
View Answer <br />
Correct Answer : <br />
5<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/surds-and-indices/951.html">Click Here</a><br />
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-1109656761864078514.post-25320247188444393282016-04-29T09:15:00.000-07:002016-04-29T09:15:01.031-07:00The remainder, when (1523 + 2323) is divided by 19, is?<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
The remainder, when (1523 + 2323) is divided by 19, is?<br />
<br />
A. 4<br />
<br />
B. 15<br />
<br />
C. 0<br />
<br />
D. 18<br />
<br />
Correct Answer : <br />
0<br />
<br />
Explanation : <a href="http://atozexams.com/ibps/aptitude/number-series/945.html">Click Here</a><br />
<br />
<br />
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
</div>
Unknownnoreply@blogger.com0