Programming Applications for Netscape Servers

Programming Applications for Netscape Servers

          
5
4
3
2
1

Out of Stock


Premium quality
Premium quality
Bookswagon upholds the quality by delivering untarnished books. Quality, services and satisfaction are everything for us!
Easy Return
Easy return
Not satisfied with this product! Keep it in original condition and packaging to avail easy return policy.
Certified product
Certified product
First impression is the last impression! Address the book’s certification page, ISBN, publisher’s name, copyright page and print quality.
Secure Checkout
Secure checkout
Security at its finest! Login, browse, purchase and pay, every step is safe and secured.
Money back guarantee
Money-back guarantee:
It’s all about customers! For any kind of bad experience with the product, get your actual amount back after returning the product.
On time delivery
On-time delivery
At your doorstep on time! Get this book delivered without any delay.
Notify me when this book is in stock
Add to Wishlist

About the Book

Programming Applications for Netscape Servers fully explains Netscape Servers and provides examples of how to program applications for them. This book describes the inner workings of Netscape Servers 1.x through 3.5.1 (the latest version), including a review of server configuration options, file settings, and administration techniques. You will also find a review of API fundamentals, examples, walk-through tutorials for writing server applications, and a close examination of the most appropriate programming tools for extending Netscape Servers and creating leading-edge Internet and Intranet applications. This book offers: *in-depth coverage of NSAPI (the Netscape Server API) *the first comprehensive review of WAI (Web Application Interface)-the latest Netscape programming option *a complete review of Netscape Server configuration settings *comparisons of NSAPI, CORBA, WAI, CGI, and other server programming options *a CD-ROM with code samples, utilities, and documentation for CGI, NSAPI, CORBA, and WAI-plus NSAPI extensions for Perl and Python and CGI libraries for C, C++, and Perl In addition, this book surveys CORBA and first-generation Web programming interfaces--including CGI, Windows CGI, and Server-Side Includes--to ease the transition into advanced Netscape Server programming. Programming Applications for Netscape Servers quickly brings you up-to-speed on Netscape Servers, covering Netscape Enterprise, FastTrack, Commerce, and Communication server programming. 020141970XB04062001

Table of Contents:
Preface. Acknowledgments. I. INTRODUCTION TO NETSCAPE SERVER. 1. Introduction. Key Components of the Web. URL and URI. TCP/IP. HTTP. History of HTTP. Brief Overview of HTTP. HTTP Request/Response Messages. Request. Request-Line. General Headers. Request Headers. Entity Headers. Example of a Request. Response. Status-Line. General, Response, and Entity Headers. Example of a Response. Additional Request and Response Headers. Evolution of the Netscape Server. Programming Options for Netscape Server. CGI. NSAPI. Server-Side Java Applet. Java Servlet. Server-Side JavaScript and LiveWire. LiveConnect. CORBA/IIOP. WAI. Additional Programming Options for Server 3.x. Note on Installing Netscape Server. About This Book. What Is Covered in This Book. Organization of the Book. 2. Netscape Servers Configuration. The Administration Server. Distributed Administration. Administration Server Files. The Server Manager. Wildcard Options. Wildcard Characters. Main Server Configuration Files. magnus.conf. Conventions. Other Syntax. obj.conf. A Simple obj.conf. Syntax in the obj.conf File. Order in the obj.conf File. Initialization. Default Object and Order of the Functions. A Note Regarding Client Information. Additional Objects. Creating an Object. Using the Server Manager to Create an Object. Creating an Object Manually. Creating an Object with ppath Association. Creating an Object by Name Association. Directives. Init. AuthTrans. NameTrans. PathCheck. ObjectType. Service. AddLog. access Log. errors Log. Other Log Files. keysize Log. Log. pid Log. agent.log. Examining Log Files. Error. Common Error Types. Client. Software Virtual Server. mime.types. User Database. User Database for Server 3.x. System User Account for the Server. Summary. II. TRADITIONAL SERVER PROGRAMMING OPTIONS. 3. CGI Programming and More. Server-Side Include (Server-Parsed HTML). SSI Commands Supported by Netscape. Imagemap. ISINDEX. CGI (Common Gateway Interface). Configuring the Server for CGI Programs. Configuring the Server for ShellCGI and WinCGI. How CGI Works. A Closer Look at CGI. The Server Thread and the CGI Process. Data Provided by the Server. CGI Environment Variables. Global Variables: Variables Specific to a CGI Request; Netscape-Specific Environment Variable; Additional HTTP Headers; Secured Server Environment Variables; Additional Variables. Processing the Request. The CGI Program Response. Returning a Redirect. Returning a New Document. Returning a Custom Error Page. Nonparsed Headers. Hello Client Examples. ANSI C. ShellCGI (Perl). WinCGI (Visual Basic). Guest Book Example in ANSI C. Stepping Through the Guest Book Example. Summary. III. NSAPI. 4. What Is NSAPI? Generally Speaking … . Server API. Platform Differences. NSAPI 2.x versus NSAPI 1.x. NSAPI 3.x. Running Earlier Versions of NSAPI Applications with Server 3.x. Writing NSAPI Applications Using Perl and Python. Comparison with Other Server APIs. NSAPI versus ICAPI. NSAPI versus ISAPI. NSAPI versus CGI. Summary. 5. NSAPI Fundamentals. Header Files. Data Structures. Func, FuncPtr, and FuncStruct. pblock. Session. Request Data Structure. pblock (vars) for the Server Variables. Request pblock (reqpb). Headers pblock (headers). Server Header pblock (srvhdrs). Other Request Data Structure Variables. File-Related Data Structures. SYS_FILE. filebuffer (and filbuf or filbuf_t). finfo (stat). cinfo. Socket-Related Data Structures. SYS_NETFD. sockaddr_in (and sockaddr). netbuf. Directory-Related Data Structures. Memory-Related Data Structures. shmem_s. pool_handle_t. Configuration File Data Structures. directive. dtable. httpd_object. httpd_objset. conf_global_vars_s. nsapi_dispatch_s (Server 3.x only). Thread-Related Data Structures. Important NSAPI Functions. pblock and param Functions. Creating and Freeing Parameter Block Entries. Creating, Copying, and Freeing Parameter Blocks. Finding and Removing Parameter Block Entries. Finding the Value of a Parameter Block Entry. Inserting Parameters into a pblock. Converting pblock Entries into Environment Variables. Converting pblock Entries into Strings, and Vice Versa. Request Functions. Finding the Value of a Request Header. Getting stat Information on the Requested File. Protocol Functions. Setting the HTTP Protocol Status. Sending Headers to the Client. Updating File stat. net and netbuf Functions. Reading Data from the Network Socket. Putting Bytes into the Network Buffer¹s inbuf. Reading Data from the Network Buffer into Your Buffer. Reading Data from the Network Buffer One Character at a Time. Writing the Entity-Body to the Client¹s Socket. Sending Bytes to the Socket. Verifying the Domain Name. File I/O Functions. file_* Functions. System Functions. Opening a File. Locking and Unlocking a File. Reading from and Writing to a File. Positioning the File Pointer. Closing the File. filebuf Functions. Opening a File Buffer. Reading from the File Buffer One Character at a Time. Reaching the End of the File (Server 3.x). Putting Bytes into the File Buffer¹s inbuf. Sending the File Buffer to the Socket. Closing the File Buffer. Func Functions. Finding a Predefined Server Function. Executing a Server Function. Inserting or Renaming a Function into the Function Table. Utility Functions. Formatting and Placing a String into a String Buffer. Comparing Strings. Using Wildcards to Check a String. Reading a Line from a File Buffer. Converting an Integer to a String. Manipulating Environment Variables. Getting the Server Host Name. Checking and Updating the URI. Verifying the Client Browser Version. Time Functions. Comparing Times. Memory Management Functions. Allocating and Freeing Memory Blocks from the Memory Pool. Allocating and Freeing Memory Blocks from the Heap. Other Functions. Logging an Error. Running a Clean-up Function at Restart or Shutdown. Returning the Last Error. Getting the Content Information Data Structure. Getting the Client DNS Address. Summary. 6. Writing a Server Application Function. SAF Prototype. C++ and NSAPI. Include Files. Sending Data to the Client. Returning a Dynamic Page. Step 1. Remove content-type. Steps 2 and 3. Insert New Headers. Step 4. Set Status to OK. Step 5. Send Status-Line and Headers. Step 6. Create the Response. Step 7. Send Data. Step 8. Error Checking. Step 9. Exit Your SAF. Hello Client Example. Redirecting the Client. Redirecting the Client with a Location Header. Using a Partial URL for Location. Using an Absolute URL for Location. Redirecting the Client with a url pblock Entry. Redirection Examples. Returning an Error Page. HTTP Status Codes. Returning a Page Through an Error Function. Logging Errors. Logging Errors for an Init Directive. Obtaining Data. CGI Environment Variables and NSAPI Variables. NSAPI Equivalents for CGI Environment Variables. Data Received from the Server. NSAPI Variables. Global Variables. Session Variables. Request Variables. param Variables. Examples of Obtaining NSAPI Variables. NSAPI Variables Equivalent to Environment Variables. Writing Variables from the Server pblock Data Structures. Reading Data from a Socket or Network Buffer. Additional Information. Summary. 7. Compile, Install, and Debug NSAPI Applications. Compiling Your Code. Compiling for UNIX. Compiling for Windows. Registering SAFs. Alternative to Using the mime.types File for Service Functions. Registering for Netscape NT Server 1.x. Debugging Your SAF. Debugging for UNIX. Debugging for Windows. Remote Debugging for Windows. Instructions for the Local Machine. Instructions for the Remote Machine. Summary. 8. SAF and Server Directives. Server Directives. Init (Initializing Global Static Variables). Netscape Security Model and Client Authentication. AuthTrans (Authenticating Clients). How the Client Gets Authenticated. Writing a User-Defined basic-auth Function. Writing Your Own AuthTrans Function. AuthTrans Example. Notes on NT User Logon API. NameTrans. NameTrans (Determining the System Path). NameTrans (Creating Additional Objects). PathCheck. PathCheck (Requiring Authorization). PathCheck (Verifying the System Path). ObjectType (Specifying MIME Types). Service (Processing Requests and Returning Pages). AddLog (Producing Customized Log Files). Steps for Writing a Customized Log Program. Customized Log Example. Example of Variables Logged by the pblock_log Function. Error (Customized Server Error Response). Writing an Error Function. SAF Return Values and Order of the Directive Functions. Summary. 9. Processing Form Input. mailto Program<171>A GET Example. mailto HTML Page. Instructions for Blat. Registration Instructions. Stepping Through the mailto Program. Sending HTML Mail. Parsing Functions. Alternative remove_separator_plus. guestbook Program<171>A POST Example. Registration Instructions. Stepping Through the guestbook Program. A General-Purpose formresponse Function. Registration Instructions. Stepping Through the formresponse Program. Summary. 10. Additional Programming Issues. Maintaining State (Persistent Data). Examples of Persistent Client Data. Producing and Maintaining State Information. URL Encoding. Client IP Address. Cookies. Server-Side Persistent Data. Additional Options. More About Cookies. Netscape Cookie File. Set-Cookie Response-Header. IETF Set-Cookie2 Response-Header. Cookie HTTP Request-Header. Updating or Deleting a Cookie. Cached Cookies. Cookie Example<171>newuser. Registration Instructions. Stepping Through the newuser Program. Maintaining a Connection Using Push and Pull. Client Pull. Server Push. Server Push Example<171>wait. Registration Instructions. Stepping Through the wait Program. Customized Server Tags and Template Files. Using a Database with NSAPI. Summary. 11. Threads and Processes. More on Threads and Processes. Processes. Threads. Kernel-Level Threads. User-Level Threads. Combination of User-Level and Kernel-Level Threads. Netscape Thread Models. Process and Thread-Related Server Settings. magnus.conf Directives. MaxProcs. MaxThreads and MinThreads. magnus.conf Directives for Server 3.x. RqThrottle and RqThrottleMinPerSocket. kernelThreads. StackSize. Native Threads Parameter of load-modules. NSAPI Data Structures and Functions. Using Other Libraries with Your NSAPI Application. Process and Thread Data Structures. SEMAPHORE and COUNTING_SEMAPHORE. SYS_THREAD. CRITICAL. CONDVAR. Process and Thread Functions. SEMAPHORE and COUNTING_SEMAPHORE Functions. SEMAPHORE Functions. COUNTING_SEMAPHORE Functions. System Thread (systhread_*) Functions. Start a Thread. Get the Current Thread and Make a Thread a Netscape Thread. Create, Set, and Get Thread-Private Data. Change a Thread¹s Timing. Terminate a Thread. New System Thread Functions for Server 3.x. CRITICAL and CONDVAR Functions. CRITICAL Functions. Critical Section Example. CONDVAR Functions. Summary. IV. CORBA/IIOP AND WAI. 12. CORBA and Netscape ISB. CORBA. CORBA, CORBA Objects, and Object Implementation. ORB and Netscape ISB. IIOP. Object Reference and Interoperable Object Reference. IOR. CORBA Services and the Naming Service. Netscape Naming Service. C++ Naming Service. Java Naming Service. Object Adapter and BOA. OAD. IDL. IDL Compiler. Language Mapping. Steps of Writing a CORBA Client/Server Application. Overview of Steps for Writing a CORBA Client/Server Application. Write a CORBA IDL Interface (Step 1). Compile the IDL File with the Netscape IDL Compiler (Step 2). C++-Generated Files. Java-Generated Files. Write an Interface Implementation (Step 3). Write the Client and Server CORBA Applications (Steps 4 and 6). The Client Application (Step 4). The Server Application (Step 6). Additional Notes. Java Applications. Compiling and Running the Client and Server Applications (Steps 5 and 7). Alternatives to the Server Skeleton and Client Stub. Dynamic Invocation Interface (DII). Dynamic Skeleton Interface (DSI). Threads. Multiple Threads in ISB for C++. Multiple Threads in ISB for Java. Important Settings for Java ISB and Naming Service. Netscape CORBA Offerings. Summary. 13. Web Application Interface (WAI). WAI versus NSAPI and CGI. WAI versus Other Java Programming Options. Benefits and Drawbacks of WAI. When to Use WAI. Security Issues with Netscape ISB and WAI. Enabling WAI on the Server. Checking with osagent and osfind. Changes to the obj.conf File. IIOPinit Parameters. Log Verbose. Summary. 14. WAI Fundamentals. CORBA and WAI. WAI IDL Files. server.idl. HttpServerContext. HttpServerRequest. Getting Request- and Client-Related Information. Getting Additional Information. Setting, Getting, and Deleting Response-Headers. Sending the Response and Headers. Additional Methods. WebAppService.idl and WAIWebApplicationService. NSAPI and WAI Methods. Using NSAPI Functions with WAI Applications. Target Language Files, Classes, Methods, and Functions. WAI C and C++ Files. ONEiiop.h<171>C Header File. WAIWebApplicationService-Related C Functions. HttpServerContext- and HttpServerRequest-Related C Functions. ONEsrvPI.hpp<171>C++ Header File. WAIWebApplicationService Class. WAIServerContext and WAIServerRequest Classes. FormHandler.h<171>FormHandler Class for C++. WAI Java Classes and Method Files. WAIWebApplicationService Class. HttpServerContext and HttpServerRequest Classes. FormHandler Class. Summary. 15. Writing a WAI Application. Brief Overview of a WAS in Action. Steps for Writing a WAS. Files to Include with the Code. Write a Web Service Class (for Java and C++ Only). Constructors for C++. Constructors for Java. getServiceInfo. Additional Member Methods or Variables. Process the Client Request. Get Information for Processing the Client Request. Global Data Passed to Your Program. Server Information. Request- or Client-Related Information. Client Input. FormHandler Class. FormHandler for Java<171>An Example. FormHandler for C++<171>An Example. Finishing the Client Request. Note on Preparing Data to Be Sent to the Client. Netscape Stream and Stream Buffer Classes for C++. Returning the Response. Getting an Existing Response-Header. Deleting a Response-Header. Adding a Response-Header. Sending the Response-Headers. Writing the Body of the Response. Additional Steps. Logging Errors. Redirecting a Client. Write the Main Function for WAS. An Out-of-Process WAI Application. WAI Out-of-Process Main Function<171>An Overview. Writing a WAI Out-of-Process Main Function. C, C++ Console Application Main Function (main). C, C++ Windows Application Main Function (WinMain). Java Application Main Function (main). Writing a WAI In-Process ³Main² Function. In-Process WAI SAF Function in C. In-Process WAI SAF Function in C++. Creating and Registering a Web Service Object. Creating a Web Service Object in C. Creating a Web Service Object in C++ and Java. C++. Java. Registering Your Service. Registering Your Service with an SSL-Enabled Server. Additional Steps for the Out-of-Process WAI Main Function. WAI Implementation Loop. C. C++. Java. Windows API. Special Steps for Java. Persistent Data and WAI. Summary. 16. WAI Examples. Hello Client Examples. Out-of-Process WAI Console Examples. Hello Client in C. Hello Client in C++. Hello Client in Java. Out-of-Process WAI Windows Example. In-Process WAI Example. Compiling Your WAI Application. Compiling a C or C++ WAI Application. Step 1. Choosing a Compiler. Step 2. Include Files Directories. Step 3. Necessary Libraries and Program Paths. Step 4. Compiler Flags. Compiling an In-Process Application. Compiling a Java Application. Starting a WAI Application. Starting an Out-of-Process WAI Application. Registering an In-Process WAI Application. Running a WAI Remotely. Registering an Out-of-Process WAI Application with OAD. Debugging a WAI Application. Guest Book Example in C. Adding NSAPI Functions to the Guest Book. Summary. Appendix A: magnus.conf Directives. ACLFile. ACLCacheLifetime (Server 3.5.1). AcceptLanguage (Server 3.x). Address. AdminLanguage (Server 3.x). AsyncDNS (Server 3.x). Certfile. Chroot (UNIX). Ciphers and SSL3Ciphers. ClientLanguage (Server 3.x). DaemonStats (UNIX Server 3.x). DefaultLanguage (Server 3.x). DNS. ErrorLog. Init (Server 1.x). KeepAliveTimeout. KernelThreads (Server 3.x). Keyfile. ListenQ (Server 3.x and UNIX Server 2.x). LoadObjects. LogVerbose (Server 3.x). MaxKeepAliveConnection (Server 3.x). MaxProcs (UNIX Server 1.x and 2.x). MaxThreads (UNIX Server 2.x). MinThreads (UNIX Server 2.x). MtaHost (Server 3.x). NntpHost (Server 3.x). Personal (IRIX 2.x and 3.x). PidLog (UNIX). Port. ProcessLife (UNIX 1.x). RqThrottle (Server 3.x). RqThrottleMinPerSocket (Server 3.x). RootObject. Security. ServerCert. ServerID (Enterprise Server 3.5.1). ServerKey. ServerName. ServerRoot. SSL2. SSL3. SSL3Ciphers. SSLClientAuth. SSLSessionTimeout. SSL3SessionTimeout. StackSize (Server 3.x). TerminateTimeout (Server 3.x). User (UNIX). Appendix B: obj.conf Directive Functions. The Init Functions. acl-set-default-method (Server 3.x). cache-init (Server 2.x and 3.x). cindex-init. dns-cache-init (Server 2.x and 3.x). flex-init. IIOPinit (Server 3.x). init-cgi. init-clf. init-uhome (UNIX). load-modules. load-types. pool-init (Server 2.x and 3.x). user-defined. flex-init and Formatting Log Files. The AuthTrans Functions. basic-auth. basic-ncsa. get-sslid. The NameTrans Functions. assign-name. document-root. home-page. mozilla-redirect. pfx2dir. redirect. unix-home (UNIX). user-defined. The PathCheck Functions. cert2user (Enterprise Server 2.x). check-acl. deny-existence. find-index. find-links (UNIX). find-pathinfo. get-client-cert (Enterprise Server). htaccess-find (Enterprise Server 3.x). load-config. ntcgicheck (NT). nt-uri-clean (NT). require-auth. set-cache-control (Server 3.x). unix-uri-clean (UNIX). user-defined. The ObjectType Functions. force-type. image-switch. shtml-hacktype. type-by-exp. type-by-extension. user-defined. The Service Functions. append-trailer. deny-existence. IIOPexec (Server 3.x). IIOPNameService (Server 3.x). imagemap. index-common. index-simple. key-toosmall. parse-html. query-handler. send-cgi. send-error. send-file. send-range. send-shellcgi (NT). send-wincgi (NT). user-defined. The AddLog Functions. common-log. flex-log. record-keysize. record-user-agent. user-defined. The Error Functions. key-toosmall. query-handler. send-error. user-defined. Appendix C: ACL Files. ACL for Server 2.x. ACL for Server 3.x. General Conventions. ACL identifier. Authentication Statement. Authorization Statement. Appendix D: Dynamic Configuration of the Server. .nsconfig. Directives for the Files Tags. AddType. ErrorFile. RestrictAccess. RequireAuth. .htaccess. .htaccess Directives. AuthType. AuthName. AuthUserFile. AuthGroupFile. Limit. deny. allow. order. require. Appendix E: Header Files Included with Server 2.x. Server 2.x versus Server 1.x. List of Header Files. Appendix F: osagent and osfind. osagent. osfind. Index. 020141970XT04062001


Best Sellers


Product Details
  • ISBN-13: 9780201419702
  • Publisher: Pearson Education (US)
  • Publisher Imprint: Addison Wesley
  • Height: 233 mm
  • No of Pages: 1008
  • Weight: 1500 gr
  • ISBN-10: 020141970X
  • Publisher Date: 18 Nov 1998
  • Binding: SA
  • Language: English
  • Spine Width: 36 mm
  • Width: 188 mm


Similar Products

How would you rate your experience shopping for books on Bookswagon?

Add Photo
Add Photo

Customer Reviews

REVIEWS           
Click Here To Be The First to Review this Product
Programming Applications for Netscape Servers
Pearson Education (US) -
Programming Applications for Netscape Servers
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Programming Applications for Netscape Servers

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book
    Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    New Arrivals


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!
    ASK VIDYA